From 21c39195c5ab92506d9384858dccb1785d7c7ab6 Mon Sep 17 00:00:00 2001 From: keeramis Date: Thu, 23 Jan 2025 19:34:51 -0800 Subject: [PATCH] Add support to setup Tachyon --- assets/qdl/darwin/arm64/qdl | Bin 181632 -> 181744 bytes assets/qdl/darwin/x64/qdl | Bin 139216 -> 139336 bytes assets/qdl/linux/arm64/qdl | Bin 267056 -> 267056 bytes assets/qdl/linux/x64/qdl | Bin 227264 -> 227264 bytes assets/qdl/win32/x64/qdl.exe | Bin 522759 -> 523815 bytes src/cli/index.js | 2 + src/cli/setup.js | 16 ++ src/cli/wifi.js | 2 +- src/cmd/api.js | 37 ++++ src/cmd/flash.js | 5 +- src/cmd/setup.js | 358 +++++++++++++++++++++++++++++++++++ 11 files changed, 415 insertions(+), 5 deletions(-) create mode 100644 src/cli/setup.js create mode 100644 src/cmd/setup.js diff --git a/assets/qdl/darwin/arm64/qdl b/assets/qdl/darwin/arm64/qdl index f49b8f5699e086e4f347fee46d4fe73e46d8630f..2c97163103084c0f9f5633546e121ad55754e8fe 100755 GIT binary patch delta 21795 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%0DNb}?69JXt1#r|5W{BoElpJ^8>@Efe49Ea}P z{U9Gapgi5~h1BkP-dnJ(4VQCn9SaFI4+OXM;f>o!?336XLLWa?;oz$pqxMOE=(DXN zVSR9Z+f9v)jMtgc@CIW$cQD0nH=H)^VZ31voFMLHJZ&#y zMf;ecY#;0g_c5yj`@zopj0aRg%?~nz^C4Ik4>LpgVa9JCX3V#WS)Hz8`OK=C@q%jT z&PSNdwj+$$orcrOFBmI@a~5_UoVvt#(q+b0e9QQfE6nQQ6~-NZ1bsiw1N=Gb7{qx^ z5N9WXId=}>EW8spxOL&ou^Z=Cx^Y8E4@m394KckrAK8bq9s@Wp7yw(4!JKa!oX-vW z;pXgM&Wa-89s*Z5gj*jN!mUb&f>IQ>DT?CC?dLh~Gn})4(VPz$%?+{eH*GX zb1UB%ZXFTBt@@1N)^TGvoA?5^nehS?HkI=wFb&sF=LQxBj>K`BI{4co0ptmsU2&NM zhSE5zSk8IVa@ZfOKK%DFeq?p0U3hv5$79TjT{^_^dJy`Nl9QXAnvu+$=4IrhCTEzE zSZga*^Obsagp%Xf*o_%jaYwkE?XAujsRSq$ebrY+Dq$_GSi>6%$O{&!dq*n1b}N+Z zgp4G%Ry{vb>6uugBqijU*eN9^HP6J(DpsuiD{Cn6?ALIbsU)Rlv)f9}qV%-Xj5+K+ zq!xdPsa4*Wj7;=ocsp%$GuBMJs{PWK~QM>?(MQ1d{BqO_I z$VdRKUks2B+&X12u|`lhdI8I+tJBnSq2e=h*g7lCSF;s33Hhy9<7vE>eu_$o*(R*W zeyb!?nh9=T%cEpyZttK_Y8=(%OnO9mbS&cE&nmz9~D`n3I-}lVZwYKd5hxRyxdFWrHPa;V81v z(%2>&D|Y=uEm!7zh-#@#PG;JC6RWmi)(KhQRgyHqs;v_<*>!8(ea*<<)+q@&lwM$y z4eqEB(TdN|^|lb-1~dvWF(srkVVj$21Y7J)NU6K7a3k9dcc)jt3AX`5#a7#9W-VeL z+R7k*qOOltf_S64KU(ohUTv3^otb4!&B*Q5gRQrN{`NCA%h8*7-KpKz->~M8c*Kqw zsGZ)mqjoxAr$=+vyo^Lv1Nkp~g}!AbWThI}8M_=KMxWhPBVrUc`_=Z+h4t!~7$vmj ze*34&KBN}JC?WZ`>~oDzNq@74-duye?1w9Bk;sHSmA%v6l%1WK&Gy)1+}KfjXmPEu zZ|t={-(z7(>?eDOz#sOxrnEG+uEm1vROnu27+1xw8Nh1s8xSQ$i_+B=pl=1KH`TB) zO3bxcmkWyKEAw#m6EYzIgmzGi?RzYTX~J1~9byjinM+3c_bMA4KzD(diN}3H7|wg6jF7 z7P6iz9JG3V;-J^_2M4X5*B!Ka{^9`jEO*rEdB9QDGvo-E-G34L^`&bV#Nz8X+O+Bx zJIS`#qQ3Zo(m#Kj6BW1DNfuY>gvI?+qiQF;++$8!xhK&;5NiNw`n8l;xjk2}5s#>O5BIn!l>mGmT%=%8FI2#e8LJ zWKhnxBrmVElwLNpL@%G}Fn3$(Za!$Kx%oGilf(*IL3lQ`(wr=BC7pa1>{oq{(W(Cq zuWHR$#l6o4=kDEDi8J*0SDpK?GH0g9!BOZu4{q2lXPCOa#!>bGBqb~`vIDKKfU~Mo ztm5tci}O>?G=c`i=DIVq@Sp0CSmn79J6*u~9v85_-=z;bZ(QVV^=M5r(Gd(-@0m%Yjl;7`_q-ROk|(ilBMgm($X)sv!YUA zCi>G>vncFR*#o<@yz~SkQ(L5)(v7UfF_Trb%w}IZgV7=v&1k8MG0R}=af-+Af4PB!?0{QVW=`rtBTRY=QZpc!r`)u^D9}>aSvTnDpJBJD z(1xeh-B-EG$Q7wE;}xHX-R|jZpF6aUw%okwo|%KI6WYjS2i;-N{9*<9i_gJ8&rVpt zzEjolN~rr?_tcD8ne2gkT4rKG8VnAAzt!{O6|emAHd@TyZKFGVpbbnEpQ4p*usp&N zr@8T^RJ#m`2ToZ*Gye#8EAFDRXYX5qnrV(v8c%^v1(V9(ZE|6K%gs)hm1;_ZZtP*j z9(=7?-HPhc>TZwzTIu^BwdypQJ?Oz~WZG4Ctt|@LVDOH#(VDce4McyHhYb5Eb>{>n zWYoVsW?|DU^VBp}d&dUBJ)i_4V)ZdgWE@qUk0WA7832 z6BSR7%aAe2h;2^G)aRa=>Fh@}a-tGEa+z0BYR(*E#=P{Irfg`&+!SMC5>ve(fA%7_ z-HQ?=zUf64c6-6Po0FQEVN8e6%v{9wsqaiwd^)`1Ju5Xk2g0P~F7(cTcoA&yhKR!8 zJLr`OO$(1#_aKAs>1Q&Wdpg5KHGGotTnn>LX1Z1zRgIgZ__e9@`7i!ftHqNPkNoXE zN$i-OJtkelh|>0*iCsRvubbb zR?x-Sx851KvtWCdX`GjV;|RBTkG-}2v(hIk0ox)o9d|x#oe!?=tl1}*-S(BrnMRoz zGriK5*(PS^FUkU)V%%*)yUc+#NN&oo*Cl2rvUe4zA#1SGEVJ`AvN4V9RO`IdEF&vy z3zKMS27Ao&jO?$rFx$Oi2f-=+5O>bE597|+w9u3|57y;#ercI7(O&ekVukxKx%@m_ zecA1=5mubR>;4+ZVWsEzU5%U!W3$;0ozX_?V`*chzc%k0Q%nnuN%PXP*d4#jZ3LT+LT#K|w49rw3l7vI9Qq2M*VHm*bG8k(`F;*}^lu@CYq|D2hBbWX)0djb441j$lywL$GT$yHH;I(KwUJEvWO}m7| zL{m-<`_*5L=6n80X-2j=U{+2p>`FchNYfVIx&W=nuLHCquLLYiPa6-@$8gw?vTFhP zu)ckd9v5DII-Gk0wQyDjLhROHa+6lMf+9E*P+)JH%Ps_Fu}hF#2qLJjcCEREs^wSl z`rtZVPiXfQ4Pe_aGc#!sTOI@*C>@3=bfSdx95#JTkSQxQEi-wZiERvmDdPdUk&q3W zc(yqxJ9B<24r+Kff{9MHbafE3K~qNdL!fSp{TirSF=nxQ()qvCu2YrP){nr^W9q1> ziob1HuyM>ZwoA>Ns6W%r+QbP5DAF-o|F;u%CiQq-D-bNMkEQ zM#2*jJe)w5(vTQjFP?ugfwI>_#?G1rgNyA6nIL!ZA3#B6d$FLB3eBh2Lt%=Tu+s(` zLo>ZI6ec;XN%uig{actaJe3^`eF5e>P5x;p&UWmRkj#mh>B24Fu$l>cebfrY(h@Xg3RnBR@x3s{s*U}f`40Ebz^^rg6gVvPgRt?-VW<> z7!*&#i94ttz-z?;&D)cG%OO_Org- z1QRO^n}{3!H^NMrv)G<6ZJ%)n%DcWEht}zL)N|8eVyFmD&1LV0gLn^$D=PjO#bx2J zrD40mVQQ)hhrY{Bgu`AdIU5J#XW`5WW>EHHP(~iB4TFA+Q`syWZLfwegryQJmT9A< zw8)O?8<_C}a}rWuSQ)eDWw5h>^Vpx^Ps-kg2M=(Jpk9bm@|+5-3zZ_}iqhwR^+kSo za=h|3&)@CKSW6gu_(mE2IZRwa46BQl9^)_5>xruZB{vh721#~;7sJqARj}l?#1BFw zchVW&n*gJekD1H*z*U;3y25Yg!rR@ zLK5_WH-3=+MZC?1Yg|nn&|30E;&M1yMg9B4*PoNzB0yH)HXI#ddI)jHZjz&jW4c5A zQ6Yf@m-T+FAUrcauLA}x-HE$NU zr^|IceUZUMN3$2K9zi`_uIuTG4=zTi_aH?58})Sg6Fs>oF@E9WT@@~lIwc< zT7_#D>cy#x;5WV?U979=OBgO`s8$@I9zk=uT-Vc=HeBjZFH3DkbGlep(^ouP0a2}{ zm)b7{YN5+@J$)s_l@aw$_g3>zPnYX@`U;6FChG0%s~!QpKwYlu=_@C$q^K97Hm4~5 z_PY3EH8552ADw40E_PXP#s3&5_{KSw)E_Oww_t#}HWj?k<(P(DOs?0A;rfkwQ`AqP z*dSf3tLdvauIie(p=yiSieGzOj`LhQn78zK4(FkE@OYz7Lk?CLOo}-ISnUQ+A-;B`i=>AP^f05_DzS{>SA3@-$>!c3f0a|QuERkznQum^^)*H zpWzmrA=`o%{g2L3IGH+!t1PE*vidia6Qs*^fAozUZtT#XCDYV?8K9@jb-hcp;e**p z)4McH%|kt1uIo*iF3W90dQ+yWM_}=osmoFC>H586QJ-%t_{aZIzuQz!5!LVZbhTe5 z_@m2pe~Mp{{wyWE;+NDs(DTyexD~)L`D81gzLyCrv1{nFV{niKj|Bd2V=`ifEbcZH z7omD(K`+q7x>x#k8Mn_E^@ap>S{C#@U9Rit+i2WYquva4E1J{Ay4nhpEcII|b%ja& z7R&|da$T=HMe3E4UU`b@Js0$Jxvp0;Tk7?pMy#2wPD4FiuIr`Ek$Tl+FKv!CguHY) z?xQfcPxevj`MEIREwu>dZVTT3KZ0ABCW~836JBAO+Aka2(&f5a^%+uc5$V-usCl60 zrOR>qhHgFCzNznJgIm`u+-M1XJqaS9f82ooTbq|>$>MHOaphU6cMe9CRbz6 z@IRv5uta*-hHBBUM15`^4jGc`wZJD$yvHX`jB<>cIuC}7F4onGUy*77WUlxXbq|;e z(&f6|#N|?NDCtdHuIAxpSeNU1!&XYY=SXju+I~J1tBZ9t{jnDxgVDRBmD)aNrY=Xl zB)rh4+#)&`E%-7;E860T;QA`*&bKfRV>#DXX?-$KmtzsQ(_yQn-W+n9sqGgi{xfy4 zuGY9ls>PF<&X^7pG%Hl#0w3fT;PP}j7PGKOrj4Qe3yZYvR@xCKmFg!Y=49mfZ4?oCQ z&eQ3bKcHBqO`>vi*7F~DHXgH|WIzQpaB-6~@HfqzI_m~5V(IWfMhEotWY7=51o{NR zzs(BJ0seMS?=4jPhuVidJ9YK6;C{e3m05P1av_T}c&OtSDTDZZ)x1aAJx&-1wFV3n@KlCC$dFE9E7c0Gk^o;;?T-FL|rf(oH-S#L7j>m%!X{2|0MN@Z225ceQXmYmNT zc1eX?QYbB#yplL~wmjb0Lfml{9e)rXO_5wn>;{(Mmch?OnnT5;|0{7l*=yDq4ohO@ z$P5n9nXm@Msgiw&t0=vTo(`{rff^e`Y()lNAg+gr1=FVyhg14&Vn@pVGBO_46`5p) zB2pMY4(ue3r5fTpOXy%d>3>3;MFn0ZE+zgq@ujUYqAmuRzm%FF2sj@N9@r)odXYlY zYm&zjH@qd;L_CAi7ZP9GDbqI*UwKpVJH!>QO0Ffo{<`D~1~@E22Rx5S!B3wrv$6L^gW5Dz9E`LRqNN4%dnk@zB&mum&>uSEdfcmzM#3Q`FFK=L-? z(i+JJiJOSOAWq4VO?Z>|DDh+B`fQor)>@VqLg@qZNpNY8EFhM6$qboc7I9jl?nmrK_NEh;)k*z@#0{sBq5U_Kpzsr^@FsD@r;-m72b`6BhPa9xx@%1dp9f;%Lg z9T-D`tal{G6IZ<}IfuA@ujIAFF_gZ8xPiEectC~JKSzAvkmMhT)ADPi;64e;Y9%{5 z$Qm>qlPzR4Ao5b5*lo}c(T;&9lBUb^ppxe6PLjo@>m1AmNKLR`bhRCt|J~m z+(h}u5tsig?I#mEQ-uqFwe`P8urw%0;bDm63S!?sq=6H}R)0ypP8`!$>ho68!9JAV zojA9HOz%Rx%~A5mRK9F5->@ zB!5I)Mf_zx3Gg2{V1~QIOClxPxsZb~l7ooT&PxZn5VJuteHd}keVIOuIQKWn8N}uH zB9fpg*PK(=M|9w2P+!$okVhK6NAOPuqB?fUKV;;CURfeh!D{c*y$s9sZDkj6Yy# z>pvbbVU3!oMtH=8%xvWEws^#ZY)AY#u`@BAc%ec4qzg~zkoA)}JYhrDPuB2c4jE45 zgUs6Uj$ zj*;MciR5#{Gd4^9k+=w+N>Tp-aXA%e<1QUeSs~NCiEl5H+<`c$RPs>bihNZHVo4B7 zJcBr7yG+j@?m-dACw7C!VsvODaT)Or;w778dL?l^@d@JmEFl%XBtgMa$ybQa68}s* zr9h_tPP~)S|3mBxFBzgku5coTO;|`AMjW?FrVo&u&tgeo3MtH>CP^YbP3a4XJH9Fn zEYtOgi-<2$1Yad)6!Ja9xm#uaN{wOs*^z;dNFj|n%_-ti%J2p8QDQvv!y4*meGSB? zH_LhCK5;||%`3#dlx~1CC2jrJPlFs$00xst!Hu}%7HI$vp>P;_(y;4596;O)7_wVK z^tI103!Y@bF9EA3)+@d)i!D;tsQ1<@{$0y0#78Xna|^zt4%wh|ap9iN`r)dYH^9Fx z3$hTmx8S}O9BIL$CBqZ7{EV|mpKQU#XIbsCQE};-`K*x5x8QsWUZu|6sB}qq%|iU9 z1;1m#RTg~8f`5?wq%JqrdmEKD`A=Ap?|eLIN_z`-l?(?w@)K^skrw=d1<$eI6&mMj z|DaK`xZ6VE6AS*)f(_nUn?G^L*@D|zaA(O+D%c+x2ICXKPz!}olHou|e&Q`S#e%af zc(vpw_Eihs3*71H(esgo!YKFE!a&Rw@LAL z39t~iSC@e}zrTfes0EL*;IS4w*@9gKz)-N%n(Z+V36b zedP8P@$UE;?yvT}%%-&5Q#5l+hmh$$Ln`7v9P(j@uj*FrofLKR-dFQCUQ79S=m%BL z&pq^Y^b03X^>QA&rowCbYrjr=#o^as;tvN8bw~cUEVD=4bKSOo@z?wQscZ-zV_VqX zFXoR?!$YlyT{<)2#mZ&B%>T`+)s(B9E5;R`eY9fY53kPpBKvIh{N8>Y2ED!LrR>;i z-5$=`_~QpXLMnfoxhmpDE1xmxJKqjm)9X&yyG z?t$NW&vqI;ed;g$y1p__y_H;XeER1bt?xd5w|JEQ{i1sdYq$3q`drh6E6ZkgZt>@# zQ(xWr=K0ET@9n;|L;dwbtLs^fZ!g^7q_*-}7(3P0Zc^p&yD53ae};}deB%b&)U#Lo z;mBI}m)!wg*9W)Gv>&+U8@q9nhhMy#Sk~=K-NTO^Ui|s`dYAoM?8@FQIIi&g>XW~< zte&080w&x|`oyMokl!?Q%ZZ!EMt%Cc)BDkVm&}Y_x4h_X(z5YU-cAD#oWE3i`AqKC zUmT7dOIbZ&#?fuJS`J;^x7_Aok#oN`Mz>;PSlpe)Yk$QJ>{l@GN*9|MhuvF!9#J@P z|I(gyYwDF=uWdhh=2FYni+`VT*ZZq;tLko!_%+}7RZGos3C#*$trxe#rNXiT!~8$bJ%v^>k7xOe%INyzYj-F7dLS}-neejj z9ec3hN3E!lB#+Wl$+zt>F*3;P}DK4zIQll@9sBrBxvRL72Tm z4o+!h;{1^)@$D$M*Lc?cIPn{a!6w_npNG zt6Q-8>ZVeooyrmQC3c27A92I0kK&>izTV;9Tm4yKsgmnf(}Gn%+uZRFjU2^H@9x~; zpxL{H!a3ADm8Xb$-?jV;vD|NJ%U@cv!ea2n=dG9s4JaD|?(X}&_Tc#hsIod2^QU56>ll01%G|4^@b_;cn)#1Xn7^3n-%Ba(CpP)_ zvd_?&9o$vf1OG5?5FP;^^Ad3>;2pkDm#loHZYJ<8$B6o3_>y1QFJRM%1$j5%v7$s%KGVwGVe50`glR zXDs(}f!NhPl#daY+IQ#i!oI`T%J1Id-yMeY{vxR32>z8w?${f1)^Ub%$6NfA4Dy-#pCmT)8R2oL6)U_8vEXzV##u!*-0C6XZlCo$U*z;Pg#Y%k z)yRQ)M(d?tu{;277wGOAaGP8gPx^W)|9M%odhsaVEiS#-Lpjk|IQARhU4WV}D{C{9 z>H%h`x5UhTp{=Jt{Udd`Zl#|El=s2BL7P;Kv#rdFL`lC99xtLj)T~ZOI7W)x%?ren zegS;CXx+a%4-^yn@8c5>@&S$M4Ch5N?L9FN-F-d=hXq4CzF+;zXsH>=t2-TMmg^2LM zAMkAP&EPRSP6Q2^2Iz`6w&A?sw8gUX{7mJ6HBVcw$ji{ks`eERs#xtU#RFnjJid938 z@oi%8upY|b0I^`$6aJ>i89tR;#D(EA_(~Bz;s}orH%3h2LqyM!2bF&&i+dx7z%cAI zDjlbgQDgKcC$mDvA}V%?hogLXqHrEP$#sI8%*_>$RdjQDmsty70btub1Y+}z08kX#JA%|>$^{q0r`sXXkT6>hDDEYJ?$a` z8VNECsFx^-UclcG-V?g>J!0&HE-|aS&PDWc^9m7M#_E#c#g1GU@Ts}&SHOy~Q z#+KTdUjWq`khw4&bFJyXD&GEVW;x8lWh_@`P8W9!U6cT4X+9u!yvLbl&!d2ypc+M2 zQ4%|q_Yw86{h*ucV*|wGxQ=|CSROY*c`#ml88?y760K)>!dljI)(84--~!Y6g>W{8 z3D@|Qe1X^!{}&%9HY6<2mo^0{G%ezwvvCY}-ai(i3yrA2Tzd&)qQN^06l&gz?CZo? zZ;o>U#(KiRoGQLg^lY63(wCsLCLQ`XD59d~9L!o@MO57QjF~41*QD-xFVMi%=1nm+ z=}qO=CgNUFFTEeu3Tl%@`0ONTgn9O_&Ob##)d5g7L^DooNH*|Y;^$;f?{}K8LMI0M z!z5PWrv*^!0F!L%Il=s*7(6G5zjJWcoDLjP{>|I~9w7dJS5M)Qa=g_c{qy`SrTqDi z72{%H$CuiJw-bX?yZh&Z(l~4cOx-mwJf8-z3JCc!x6i#?H%4quJ=)|YP{9uVWsG=JeiNFTP0c>`=g}o57s+B)x-f z2B?U@rCwraMijO?V+IbPjH$fIG$+|jwWGzj%z?b(;D*d}uD|C9rQmLb*p?k8I%NmL ztv(@pkp484&xG=~V6N$#Sw?FuJNplW& zrhZwl_YQlh5d@kz7IDoliD#G6#IR+-`b{Kt6Z4j>#rtDfcbJkpz3K^f`mk3+VIfL= zHJA?*=2zpDh7ls|)c{?wuQ~Xjw`m{euZu5ogZYQzXLwB!uFG4x%^3lyhsCrM63F!t zePhwYM?^1o(hHpwO%rj;-{Q%Fub9d!#LFv|IQ=mkB#x}&_0`<_;2$es5&S?rSvkYw zFqGH8+y#$;^|_F9R_Ggpc zaEF1h=phznPw^B7n*UIspX_Fq&lXqL_V&3$G>uE2>EN?^YDE2ihKcrhK5g5RLpR%y z&jy(CDA; z{&gjvwJtvkW75evvL0r(hc%9G`P49);o!a~fmwMThVhwy`5I_B>N3zh(jP->T?d0g zM7|bo8VezZ!Q@m5dRd@X3bv&y{p#?pD}ewMnEBj?fK8-dd1+)!In*_;#`7&7Cq>q^ z8}zj}aBXW3eG;bi$<|(PF)~>B|V5Af?|@nx!!g^cSX$ zxBemK*5vC$@Rdg~4<=s|2K|5dI2B@UMn1Mb_Yqp&6`Xtt2^twbxI%BwTt|iTikeVX z!Mt)WW545uv!;c(xZcO~7mOy%O&-|K<}z=-U=B}i6*w#)-ijJ{XF<#i?K3Mab1&CI z*JD}01n5*~R{*$Fb*A7xc4nPw_cE*h0zwFLjjX>1x+7;|mEh0St{#13|GuID;WaYQ>v+nzqhVmOQyo^w1G0dPnL`l9UZy_r3lazlVMVk%1Tz`s$ zuHd;7A>|dgE|pr$y{tp`^0s2zMz22L8HSGZ9BC-Wvw)j$8&AP7 zR|eFLfEsWw3p(mh)^wMPOB-9llkJ_2Q(@W|u&J|uC97>~c7$G-2DO#K=%i+BE(JF& z#kx%aZQ<0(9dqY26K*r;x=PrO4F_$jMsF?^mo|Bdz=E-XR*_YYhlM{lqW8kq zR0meSM&uM^dFX)7D$gr}jZb}ocv8@X|1MlNw}i)^!REQjPXok<<`=xP87n*u_l$LP zXwcR&IFEbsqpF3EXuG)|oW8_uZs}SA%GSZvh;^I0z?50B*-z9TZV`S1PL@hx(*0jI zJMN6&0IT9n@KJ1Wjf0hIdtuX+hs2RXf`_!{MV70daAAs?&)9=SOgRLbh>>~BF=7K_ zQJWZ#DqyU^%#=a_{@-Lu@pi_pY-dW$TX3RR!jz>@Z{;q=V|K&o-5$oP_b|rxF+2Bt zj1Aq#bYW%S=K$k{2N+8@%s zLlN*fg6kS0xP91Qu4^^~l!kBz7Ri;^VVv(727_x9=Vha~-6?pl9tAv_+Z`Isbp>O% z{mwC5wqz35WF%aJ~O`i3x=GG zgt%-Y`-f-7r6sUcmhVO?J>!omYT*ebD|xYzol(H>8+$N3|1F#|DhbJ%>_;VQQEEzZ z+FbSkqy=B2wER0wy2?(IzGer~t5_a4*Jxk`c3Fn((>2BPk1|2f!UpvoMvPd_8D=R zM#F-5cHCaa>W-iwm7TUvn{Uj_He{v5Wz9Bbu`0{1(MktXt^?MrwtJ0(Dr5N$(CeS5 zR_XI0eVZM!(o^Oe*+BpvK2 zEu6ALy6-65kezM-H*BqA1f&-a-*JE$<5JlMM-pv!gp}U~RrU^iI=c#vp6xJ!Y`J54 z#v*pa5!4~!CoN)((kAR4=xkkX2kz_Ol_|+-*~ZMoxOh-^%E(O5FhD`C9&D}U`!R~& z^g~X}E?(M~I#JJk=%gh$F()ma9d&~IeuIIf$7LiN*lDLM19k|j0YSqF91suA;DC@Z z>7}=|mPt`c+vdCVR&|zH)uZZ_Lb0&tyCG zm{|6a9)^Tk^(DRf_8nH1z`oZ*GJe%(8&gu)>Lv>^lOY@HEiPjfcm1^{GMpQhPGgle z16MWGvBDjgmbh&8T2tulr0m)3O(<=6(+(0`0-uUYP(CXsG0~XG_BVZ=zmF{&#ws06 zwV+d@`XHS@ngr}pG0tW8nnJkio9S5YR_uwhh2Rnz_EQsTSX~p@uz#AU z4LjLXYgkoNwP8OrRU3A@DKzZuW@^JeY$h8PatPd(UBU5FbrX|caQj*EUvrkNEwIFl zQ~H@+cc$vzcb3)db;jzRx9Fg=R&Rx~TJLdmkibqmXBnXt=bY7=FFDJazjI~^_WLSl zxG}$X*0G}X*tk<0FkfotA8#(}KiwS0;6_WU@k%#SZi_~}y{3hZ?RgFDir2}coNG=| zUT-d=yxAP1v>G8b&9yLpX|9I(2{4uzTH9wSqlEkzsKxUU&B|+nemE; zDbJ<*3v8ncjQc{DKI{z_^|k<7;gSQ{V8t$QOMZ)Y*kKUGEikYTTVMrep#0F!=;lGL z8uChYXv9Iaw_U6Pya!g0uOD2X*K5J1?mpVo-on>Bc(qKARy;@SaD^atxp%G^G%lt;sjwaLw@{w+rkj@FkKEJ*A9GU^{HYtX^opCB;CpT|!L@Fz zc|7~vkv#q2C_UYFOpHv1d92n^^|-+)nf>CFvN$!)z|2ijjj0B9v{^bk&^(h>x`5L) zuBy|`uF~ms*TpHxvkdG{%cTj5x9M$nZTTv7ha}`-D$3VD8+7sM>eS7O+#zE2p?gMp zR`NoeLl-2cL3U5LtM6E#O4u2&FZdGsZjX9ftHU(cL#A?#2i*5itYbU3U={iBlnH-6K5d7tt+eKT*a{;00#%Fd;ZRc- zN_Ii2eGS4xXLK+?u3Ew;DFL${waSK-GdnXbG1-^`w*$x@eXAO8gBr;A9Z$86U7nD_ zvuM1}lQ~Gg*F4m|dhCI@Jk(0<@_VhIcXB;tx16x-o}`3y{=+j7yY_ESRb#oA6t4Ax z1wK1-k%4{b`78(n+hA#!r1*5b;FXbS%*skmPcx(%vuCHnLMiu6@D-Ah0A;CIfa~1n zUg@dOqT!R3;E{iOB_wCfHKgUF&N5~~pJvZC#3wMbw-GC17H<+r-0n>t-tmUzTvipA zV4Ssx?Xv8jtoY7q@J>w5%z_-L)+>C{AXx-?KG3spx9;;!haP1ceIPsan7Z>%@wFir zMuMHR`_#wU%UNqL7cHHqDDA`7`=+O+f-*DvLLcA4KE4iT2)M|^84`?H@tMgP*|3c5 zwJe{axQ{ppT17vh)|H$1nhUSYKAu^86Ig|BqbA<)%{0ct&Lflka+A|oy@@Y2u!pT7?JJz1`9=T2eR>@}jw{B6#`qlA z37qv$Nr$=oqCYJCWhg#$SylQDUklFT>#>typwkR~_Q&CFn3bNM9XAU$r_iYE`s8Z`R@lLq!`$yz{IR< z*bAKsOi`EoF9X#oD+ARkzYScNnlceq!r`znX4eB@9sB_UF8sHaU{}oW`$1}k_Xa^e zU$f*+Q#=yR2W7C!zg`M@MbqFJz)`h5(I-N73K`c zd0c81TiM2#k(`pAlw)M;+Q5qX2i6;x2@el!Qya^rJ&OB~gKd}t+8S8ZGh=oqNV79! zu=_H+he2sZV*>6g<|pH1fe&$iL6{Ym@h>X@rZ<8OW2dv?VA!pdJ3ws5w&QEw76%Rs z_8BOy-i-yfcc}&6K|%g{EU3xD*V46W@h`zliKNM(CU}%O`-A3#m8xkOzE*ySuY2~X z`a41(A*-;!wDYI~#|ZX?FvrN8%uJY1Fzc$1^TGHrIz5YhA3P!@eO6owdm20v9?W2L zg30EPC|qrZJ)4Eu){yaui7;H)&X7rRmOTtL74OBG3iqg0Z*2>MWTykg zrP|TEKvexMiiRh%eQn3Vw5gVV))psCb}}S=ayt9MvVFSZ$$zmNo~{J-UDK{R%WoGQ zmzA|3Ju`uAZU-Lz!3in%Z+qPf>`_}tVs1ODcCoGPF!cSF7BiGqrfSg7Rnv1tCgx!~ zsA?|zv0XMbL$I~?7S?VsnH{kz>HBU=$V86PILg&NZn+0IaPuTlmT)^4<1 zoB@O7y|CnLwkHgR!*0C6_Uw6n)4mY~8zNR52D8(FFc`Y*Utuuhl5jC(r^1*HCQ){^ zP1<7iaVQL9oXryP<|+(Z2n#8AELQK8t@%zoixq^kW`@++u*j=Z8B8*;zGX7KB_&4j zAD7Aw`>RVDINgO7_v#wN7(^)DEC-&WjenRXrN^%o_*&>%Ql3Nki z5eF0JMM-&g;>qJB4KbYvOITSb%Qh3d{E(ujQ{B?#G?Wemx0^?6_i!5ev7o-(yYTCRz z6WpL$zU30A#c9Qwnl>Hd^o(j6qa0>hb{+okLWVKfNRH7o&~$zQ%EumBxs z%M30%7(kW9H4);}iZ!*N&?)#CS0hx@7|Z@woYr!zMq90L^+J1%HTyvP02jVNoTf$! z=wK++fuel%w3wqAs%eWkF7BwNG0L$T_*zoE@C~c6mZQD4_~T{(?KMVy zw7-rY;KDbspVdeK9ca4++&!QJjnM!d%dzRhMOOBaNBYN zad!_L`+*q#Ks~bjm!5yXQfOe3YgBo-K7cvH*?KqLqfwtqs z9Vpt@SuV|mUe$^^wp_CV-krE7sJseK+pIQB7l%V{?w-2e|NUoQ*tzWGL?q$_e;^ zu6P@s0}KP-#IDZz-(bTY*>tG29NVcqDByzw+H0)Y$524X>f&Rq zfDRJqNuwQBXvLa?+(r(b>!Td)ZH@5QCc+CqS|Sb7Hc_1joG^YF0`J40iXW7P0O zpt_BU(bMl*U@r(;7FMS<5l%6!`fhyp3ja$N?3o z&BVN)MNe?y8#Y^$GAP3$Q-pn_-Zfm8fO4y@(qfMv-5ekFU2QG@~D*8_Or8|K4Wj`rp7D>2TR z!gB5|$5FZEVHVt0vRvAsUQ~|!e39zW7+qpLJMG~GE@Z67T8{R$i>0h1Ra0x3myM5; zRE!VgaO(N&fqV;86Nvuk+G)dOHvBJ3@*KEJdqFoPXg2UZ%Z6wFAKjR}Oh)HOt^YjMGI#;>EtNmZ<ogwE{ZOZIlik(G04w<^cc69A5Y~&PpE{ z?Y%Zh*%S&uW0Yf}GVlXj_%;p?hpiRRL0*9r4krg1YYxuZWWZXE_R&Jx-=_v>tl7i9 zO1+TBb+R&;1_psrroOttzv;AQKTpe?Ig0;~$2LQz9Xxeg-<}yw%a}K}eRJjN7G~$}~q}(Xk#I}~og88J7Jx3l{t|ji6NJpB)$7V}DKh;`&}5OFn3p6GB4 zaTv*G5H}-u}5$}0J@&V%8 zJ0yQb>~&o76+4)9&_VP8S#X;a@`?W@&Nw9H-a1)ff8wshBR`e$A;e|GlZmfTg+}5- z@QZ1vmgVT6|1p5Dk7dCIQrLPz@_WQ}#3zVnXURUSB0ff3OI)2P<;`K&fc`^B-kG=x ze&&q<3^q~0(pYIQl{h6{avJd?;?=}mcdOwUSNjC>87^gRh7i zi0=}2gdee^LkCCcpo+Kyu{%`|MO+L&c1QhW;+nIPbBXglM~40{q=K$rNQF}3!1I!i z5tmay-x5bqg?|#yCTaL=3Z~7IDUKy}p+S^GoIv~< zaV_cZAihHKqr^kgrN2sIr&P(ei1R_NekJ-R6~v@T1-)Lj;5Mw#*bqPBKEz##i%!cH z4I@5vM)C||ug@jVBQ7KTHN@4YA^%vxPAXXXnKbyAIF|S;;yuK-h-1j%U&JXCfJYPA zfQ}>&CoVoE{SPG0_yF>c0gR)9@((2^5LfS&yo5N4lO%zqcMK4MDFT@2TZ`Mo(e1ha1h=)#;`jN!7(UPZ0Hn9Ry zNYxxrKr4t(O_c^E#Cu5o5pe)KN)d`Ak!@K0=T z5Y-d+?<3izxlC~-aVO$BvL8ZR`lGC18nFwtcph<&VCioau)6*?gvf&Jq~Q05ba0qh z_m|{vh@<*S{ojcDkiA0-8DMq?DGwwrY9_faab>9FDJ^LI4}pIRge^`bg;m2PuO<$o z6z(8y_PY$IocQ)HlFt*zz`qqjf4>ozJ(6-a7a8CcYCwn!^grHawd8OBDKtEk2GPWY zwUXx&2htA*UL`)&PgZCl?$}@QKH_rXQ^e;7N%?zqoaF&=6-y+^RMh5T?aRZI| zmTofO^CS-^t|IwBVlUZ6CWg;iEno=^qhA)_X)Jb$b{dPvyU5z{EuMlSYp2|Jz=*6J zFyeV1vUbpi2bjp(0VN)y8F;pvboVF7cHzs11ACuAq$e-XP7;~5z` z)Xu>0a1dEL{KK<4WbG^t&;F3LvpqbDLxwXrx&Gs!85U@#Wy6V=u8@N)n)pzjWFv8p zm69`wM;1xWCC+sEDc^|e=JI}jHe0GbRT5l0|EtGtp*pK9oh_%C?C&+mJC6IzWoHAhr9bcCY z@YD%!Lod4R{D=dILxDlv9>%YF^|ayPHay;jX98RNHY$Fui)|#YSw?MC0=j)*Q~WO* z{=$Z@Shj716Dm8e#&I>Z;g*)G;N8^Trns98_md1y)bbi)BOhtQ(KbBIhGQGEWx*!J zwOdBxLbkw$m)Y=YOT{Loi>b(_c$WIKWj^s4d1rm-)-z4H)a#FlRxl+6CZhb z+i*7<9%REYHk@O_Z`g2oBZj-CvQYti32npNM;!#u0&H%>0g|5$-i|ih-G*P33)uR(cQDdhWFX<5i4$sK^(U#K>pl@zq05zD_!7Q?!KFq zfWd#*NT1lSy>H`in%c0dWgED04Y4WiX!!z)O)uIMN7(R48=hdpFWYdu4bQdVtj7ET zTh_P${@qaH=4`ZKi)EWoy10I5Q~Z(Ts(|KvZc|)o!{14U$xmLlZTL?cZU*1Ufbui_ zHa6U$F;8T@8yB!h8;-W&88)0`!`YUrg-SrDO*X~&PsH!R-+lPQ(_8rGsq7c{`xX9b zE#JScd}VpGMRBp5u)s@|MOkW@wp9snL$kZ^_uTZzr>`qV`H_OHN+*8g{5GXWJ4^j> zWq`x+0yxEP2LA(WTN6K_WsA>CNMXmWedF8u;k66DHgo*?Bd1kE-|aT|PR6<6zS|e{ zyq&*qA-{9ruaiTkwceBa@tN8Ii|iJE*|(^f{U-kJZN2_@cla@* z-J!H6ci*~KyZKhd7w^{nF}{DZnIHTSp$m`SzyIgoOZ6xFtakcf#%)vD(|s|Ychubp zd+C&Ezi#i(L*ws%d3Spc*Y78ccziK`{luYxw|*___PXP_kGjU(KdmfZak4bM;KjA4 z4onVXE$e>^Sibn!*w2?beKjX#!*@FU?SIm?T)vib|8bLl4SFT9uVHjd+_1Sfh1d1z zMImR-z0hj3uj~0elXI@UIQ;Irt1{d4OPFwD{`8UR~1V#Y>S(+NXr+mRrua zpGi3O_WMzroA!A9NZCpFKOq8_ez>UpqLyFJG?a{}@%X^u5o_9G%_XH?N`jr}J9B+^OUDquTzb`+;VoH&nG)@o02j ztMAfZ>3q*~QuR3dTLYRt>HoOli*H6(lppi@X2J5ayxXI!U!Np4J#+Ds$0_SZog95+ zd$*pZ<+CP74d49NjMKF{KfKi7v-|3{pZAxpbw7TnNzONR@BgFUwk7+13)AXu?;hRW zVRq(G{-*o4_IKW$L<;pM1Z`$A3-|o9=(bJ*&Q&9pqeE)9mllAxWq9^xL!1 h@WxN$wsrV6x0rvk!YiY1%%zlwWWT<54k*E${vVpvr{w?u diff --git a/assets/qdl/darwin/x64/qdl b/assets/qdl/darwin/x64/qdl index 0130980b6b84d6786e3bcaee68dfc47edec8b2da..0a690cd9d3b4192f02b2dc6d0ac62dd8bcb53041 100755 GIT binary patch delta 27689 zcmZ`>30Ra>+dl8GtH`3r4g<2eCAi{(;)0Gl?y1>;EK0J;qGtIGhLngDdaAMdDoQJ@ zR7%aIR7z7zGc+qJt7#uH6I)EP^1q*R&I`kQ{c~N+%>C@obN2I&HXZRi+2~o<!kT zzAyNNlHWt}x3uGTHPucXm?;Ikq(Egmfgl)|E&0uJM1WZi{Pn3}F`Cb7Cm}RO3LWDK zo#VY?rK#lwyt980FYcVBUFGLH=NcByKz5FwuNj)277Edo_>_pnd9}z+`xgiyM4#aEHE}ANj zB`!Q#M-AG2IY{=IWX8Ec{Y4T1S+n?h-!QLVNu)Ml#4NtcH_+>Ii6Un4_k9CBPfGL; z|JgUlbGHOv@Xmfgo?9h2%x?pDSc0ecRKFmv3JLx*lNb2~dX-3Y=S=<(P_{%PX7XKr z@m>=o8b6DF=@;i24TN6Q$i4kXb$@6Eg3rer6-pLG^~TRpWrTb048F`i$m_U73uf?5 z{&8MU0l|cK9)Ht6#cR1l@po~LE>)o}5v?QIzP6Tc3fQ9A_@Hh@UU}(4vUmyK*=?!zAP))bWw5~KoUVL9 zU}rpBEG#874*3(4$YJ{e_-ztNC7GDD8r2nA;cp>7YRa zznUt{wJd6r!DNE&0-0*J>JJT34X_Tb_cXpPIKrS!;@g5pc{WIw7x~rT z8J5Qc^p85HjgP}8Xo&fIq6ZKxZ~e$FHsn{=?AhfmTD9OJmqXD3g$hY3R0Cw6IA6P`amb6RRs=DLJ{_E+^O69F%81C zDK{oSu}LZ>Lqj$B_e4IzweVoe1H`O3WRgs3>T1}c!ds+TD*3B9BtP`}TBsY;20RQA z#M}95t4PfhJBn8>+2xXbrKOcETPOx1y~s;#fMLdX{zQ1F*I22s*u;;7_w@Q%q5&rU zOL)BJ^V9=s15WX%h)~b1lC_PGjY#z3viYVjhY7BFGj$eoj4|$*%fhk�@zPP_^BEqm^0?qeM46(QB{UBG7;dwX?|X#4{H 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 i$1J;OBn18cRZl{>nxC*EC;0b;+33_5T2Sy*Gvc diff --git a/assets/qdl/linux/arm64/qdl b/assets/qdl/linux/arm64/qdl index 4b1b94463e841529c03cbbf3354540fbb8d49c9e..eedc90148e229b2e7fa74be7989c34b12ea9a387 100755 GIT binary patch delta 28171 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 B*8>0m diff --git a/assets/qdl/linux/x64/qdl b/assets/qdl/linux/x64/qdl index 55162239f1be806d178c69ea8b5c2cf213fc6cf1..f22007998c05d9cc5e3ef618b7aa4a5c8caaf05b 100755 GIT binary patch delta 24804 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 a-ULI2J^uPe#k!e>`NYPuV5Xsm-TwjEdavdH diff --git a/assets/qdl/win32/x64/qdl.exe b/assets/qdl/win32/x64/qdl.exe index 73c8724ec81c507fad8c6d24d4b6fdbb4bd34ad6..be206f4715d0c6b4a5d5b58b87fbac734594d801 100644 GIT binary patch delta 55759 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 delta 55746 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 diff --git a/src/cli/index.js b/src/cli/index.js index f76d491f4..5f23731f0 100644 --- a/src/cli/index.js +++ b/src/cli/index.js @@ -28,6 +28,7 @@ const webhook = require('./webhook'); const whoami = require('./whoami'); const wifi = require('./wifi'); const usb = require('./usb'); +const setup = require('./setup'); /** * The default function export from this module registers all the available commands. @@ -75,4 +76,5 @@ module.exports = function registerAllCommands(context) { wifi(context); usb(context); alias(context); + setup(context); }; diff --git a/src/cli/setup.js b/src/cli/setup.js new file mode 100644 index 000000000..1f6cd038b --- /dev/null +++ b/src/cli/setup.js @@ -0,0 +1,16 @@ +module.exports = ({ commandProcessor, root }) => { + const setup = commandProcessor.createCategory(root, 'setup', 'Setup Particle devices'); + + commandProcessor.createCommand(setup, 'tachyon', 'Setup a Tachyon device', { + handler: () => { + const SetupCommands = require('../cmd/setup'); + return new SetupCommands().setupTachyon(); + }, + examples: { + '$0 $command': 'Setup a Tachyon device' + } + }); + + return setup; +}; + diff --git a/src/cli/wifi.js b/src/cli/wifi.js index 9f8ff5978..0b17b387f 100644 --- a/src/cli/wifi.js +++ b/src/cli/wifi.js @@ -1,7 +1,7 @@ const unindent = require('../lib/unindent'); module.exports = ({ commandProcessor, root }) => { - const wifi = commandProcessor.createCategory(root, 'wifi', 'Configure Wi-Fi credentials to your device (Supported on Gen 3+ devices).'); + const wifi = commandProcessor.createCategory(root, 'wifi', 'Configure Wi-Fi credentials to your device (Supported on Gen 3+ devices)'); commandProcessor.createCommand(wifi, 'add', 'Adds a Wi-Fi network to your device', { options: Object.assign({ diff --git a/src/cmd/api.js b/src/cmd/api.js index d37fed4fa..961b6af3e 100644 --- a/src/cmd/api.js +++ b/src/cmd/api.js @@ -232,6 +232,43 @@ module.exports = class ParticleApi { ); } + getOrgs() { + return this._wrap( + this.api.get({ + uri: '/v1/orgs', + auth: this.accessToken + }) + ); + } + + getRegistrationCode(productId) { + return this._wrap( + this.api.post({ + uri: `/v1/products/${productId}/registration_code`, + auth: this.accessToken + }) + ); + } + + createProduct({ name, type, org }) { + return this._wrap( + this.api.post({ + uri: `/v1${org ? `/orgs/${org}` : ''}/products`, + form: { name, type }, + auth: this.accessToken + }) + ); + } + + getProducts(org) { + return this._wrap( + this.api.get({ + uri: `/v1${org ? `/orgs/${org}` : ''}/products`, + auth: this.accessToken + }) + ); + } + getDevice({ deviceId: id }) { return this.api.getDevice({ deviceId: id, auth: this.accessToken }); } diff --git a/src/cmd/flash.js b/src/cmd/flash.js index a64717c38..ae4cc6b05 100644 --- a/src/cmd/flash.js +++ b/src/cmd/flash.js @@ -71,8 +71,6 @@ module.exports = class FlashCommand extends CLICommandBase { } async flashTachyon({ files, output }) { - this.ui.write(`${os.EOL}Ensure that only one device is connected to the computer before proceeding.${os.EOL}`); - let zipFile; let includeDir = ''; let updateFolder = ''; @@ -101,13 +99,12 @@ module.exports = class FlashCommand extends CLICommandBase { filesToProgram = files; } - this.ui.write(`Starting download. This may take several minutes...${os.EOL}`); if (output && !fs.existsSync(output)) { fs.mkdirSync(output); } const outputLog = path.join(output ? output : process.cwd(), `tachyon_flash_${Date.now()}.log`); try { - this.ui.write(`Logs are being written to: ${outputLog}${os.EOL}`); + this.ui.write(`Starting download. This may take several minutes. See logs at: ${outputLog}${os.EOL}`); const qdl = new QdlFlasher({ files: filesToProgram, includeDir, diff --git a/src/cmd/setup.js b/src/cmd/setup.js new file mode 100644 index 000000000..677eb7bd9 --- /dev/null +++ b/src/cmd/setup.js @@ -0,0 +1,358 @@ +const CLICommandBase = require('./base'); +const spinnerMixin = require('../lib/spinner-mixin'); +const fs = require('fs-extra'); +const ParticleApi = require('./api'); +const settings = require('../../settings'); +const createApiCache = require('../lib/api-cache'); +const ApiClient = require('../lib/api-client'); +const crypto = require('crypto'); +const temp = require('temp').track(); +const os = require('os'); +const FlashCommand = require('./flash'); +const CloudCommand = require('./cloud'); + +module.exports = class SetupCommands extends CLICommandBase { + constructor({ ui } = {}) { + super(); + spinnerMixin(this); + const { api } = this._particleApi(); + this.api = api; + this.ui = ui || this.ui; + } + + async setupTachyon() { + try { + await this._verifyLogin(); + + const region = await this._selectRegion(); + + const version = await this._selectVersion(); + + const product = await this._selectProduct(); + + const { systemPassword, sshPublicKey, wifi } = await this._userConfiguration(); + + const packagePath = await this._download(region, version, product, systemPassword, sshPublicKey); + + const regCode = await this._getRegistrationCode(product); + + const configBlobPath = await this._createConfigBlob(regCode, systemPassword, wifi?.ssid, wifi?.password, sshPublicKey); + + const xmlPath = await this._createXmlFile(configBlobPath); + + await this._flash(packagePath, xmlPath); + + this.ui.write('Tachyon setup complete. Device will boot and connect to the Particle Cloud.'); + + } catch (error) { + throw new Error(`Error setting up Tachyon: ${error.message}`); + } + } + + async _verifyLogin() { + const api = new ApiClient(); + try { + api.ensureToken(); + } catch { + // User not logged in, prompt to login + const choice = await this._promptForLoginType(); + const cloudCommand = new CloudCommand(); + if (choice === 'token') { + const resp = await this.ui.prompt([ + { + type: 'input', + name: 'token', + message: 'Enter your access token:', + }, + ]); + await cloudCommand.login({ token: resp.token }); + } else { + await cloudCommand.login(); + } + // If there was a problem logging in, this method throws an error + } + } + + async _promptForLoginType() { + const choicesMapping = { + 'Access Token': 'token', + 'Credentials': 'credentials', + // 'SSO': 'sso', + // 'OTP': 'otp', + }; + const question = [ + { + type: 'list', + name: 'login', + message: 'Login using:', + choices: Object.keys(choicesMapping), + }, + ]; + const { login } = await this.ui.prompt(question); + return choicesMapping[login]; + } + + async _selectRegion() { + const regionMapping = { + 'NA (North America)': 'na', + 'ROW (Rest of the World)': 'row' + }; + const question = [ + { + type: 'list', + name: 'region', + message: 'Select a region:', + choices: Object.keys(regionMapping), + }, + ]; + const { region } = await this.ui.prompt(question); + return regionMapping[region]; + } + + async _selectVersion() { + const question = [ + { + type: 'input', + name: 'version', + message: 'Enter the version number:', + default: 'default', + }, + ]; + const answer = await this.ui.prompt(question); + return answer.version; + } + + async _selectProduct() { + const orgSlug = await this._getOrg(); + + let productId = await this._getProduct(orgSlug); + + if (!productId) { + productId = await this._createProduct(orgSlug); + } + return productId; + } + + async _getOrg() { + const orgsResp = await this.api.getOrgs(); + const orgs = orgsResp.organizations; + + const orgName = orgs.length + ? await this._promptForOrg([...orgs.map(org => org.name), 'Sandbox']) + : 'Sandbox'; + + return orgName !== 'Sandbox' ? orgs.find(org => org.name === orgName).slug : null; + } + + async _promptForOrg(choices) { + const question = [ + { + type: 'list', + name: 'org', + message: 'Select an organization:', + choices, + }, + ]; + const { org } = await this.ui.prompt(question); + return org; + } + + async _getProduct(orgSlug) { + const productsResp = await this.api.getProducts(orgSlug); + const products = productsResp.products; + + if (!products.length) { + return null; // No products available + } + + const selectedProductName = await this._promptForProduct(products.map(product => product.name)); + + const selectedProduct = products.find(p => p.name === selectedProductName); + return selectedProduct?.id || null; + } + + async _promptForProduct(choices) { + const question = [ + { + type: 'list', + name: 'product', + message: 'Select a product:', + choices, + }, + ]; + const { product } = await this.ui.prompt(question); + return product; + } + + async _createProduct(orgSlug) { + // It appears that CLI code base does not have a method to create a product readily available + // TODO: Discuss with the team to add a method to create a product + // For now though, we will return an error + throw new Error('No products available. Create a product in the console and return to continue.'); + } + + async _userConfiguration() { + const systemPassword = await this._getSystemPassword(); + + const wifi = await this._getWifi(); + + const sshPublicKey = await this._getKeys(); + + return { systemPassword, wifi, sshPublicKey }; + } + + async _getSystemPassword() { + const question = [ + { + type: 'input', + name: 'password', + message: 'Password for the system account (required):', + default: 'default', + }, + ]; + const answer = await this.ui.prompt(question); + return answer.password; + } + + async _getWifi() { + const question = [ + { + type: 'input', + name: 'setupWifi', + message: 'Would you like to set up WiFi for your device? (y/n):', + default: true, + } + ]; + const { setupWifi } = await this.ui.prompt(question); + if (setupWifi === 'y') { + // TODO: Double check the WiFi credentials with the user + return this._getWifiCredentials(); + } + + return null; + } + + async _getWifiCredentials() { + const questions = [ + { + type: 'input', + name: 'ssid', + message: 'Enter your WiFi SSID:' + }, + { + type: 'password', + name: 'password', + message: 'Enter your WiFi password:' + }, + ]; + const res = await this.ui.prompt(questions); + const confirmQuestion = [ + { + type: 'input', + name: 'confirm', + message: `Are these credentials correct? (y/n)\nSSID: ${res.ssid}\nPassword: ${res.password}` + } + ]; + const { confirm } = await this.ui.prompt(confirmQuestion); + if (confirm === 'n') { + return this._getWifiCredentials(); + } + + return { ssid: res.ssid, password: res.password }; + } + + async _getKeys() { + const question = [ + { + type: 'input', + name: 'sshKey', + message: 'Enter the path to your SSH public key:' + }, + ]; + + const { sshKey } = await this.ui.prompt(question); + if (!fs.existsSync(sshKey)) { + return this._getKeys(); + } + + return fs.readFileSync(sshKey, 'utf8'); + } + + async _getRegistrationCode(product) { + return this.api.getRegistrationCode(product); + } + + async _createConfigBlob(regCode, systemPassword, wifiSsid, wifiPassword, sshKey) { + // Format the config and registration code into a config blob (JSON file, prefixed by the file size) + const config = { + registration_code: regCode, + system_password : _generateShadowCompatibleHash(systemPassword), + wifi: { + ssid: wifiSsid, + password: wifiPassword, + }, + ssh_key : sshKey, + }; + + // Write config JSON to a temporary file (generate a filename with the temp npm module) + // prefixed by the JSON string length as a 32 bit integer + let jsonString = JSON.stringify(config); + const buffer = Buffer.alloc(4 + Buffer.byteLength(jsonString)); + buffer.writeInt32LE(Buffer.byteLength(jsonString), 0); + buffer.write(jsonString, 4); + + const tempFile = temp.openSync(); + fs.writeSync(tempFile.fd, buffer); + fs.closeSync(tempFile.fd); + + return tempFile.path; + } + + _generateShadowCompatibleHash(password) { + const salt = crypto.randomBytes(16).toString('hex'); + const hash = crypto.createHash('sha512'); + hash.update(salt + password); + const value = hash.digest('hex'); + return `$6$${salt}$${value}`; + } + + async _createXmlFile(configBlobPath) { + const xmlContent = [ + '', + '', + ' ', + '' + ].join(os.EOL); + + // Create a temporary file for the XML content + const tempFile = temp.openSync(); + fs.writeSync(tempFile.fd, xmlContent, 0, xmlContent.length, 0); + fs.closeSync(tempFile.fd); + return tempFile.path; + } + + async _flash(packagePath, xmlPath) { + const flashCommand = new FlashCommand(); + await flashCommand.flashTachyon({ files : [packagePath, xmlPath] }); + } + + _particleApi() { + const auth = settings.access_token; + const api = new ParticleApi(settings.apiUrl, { accessToken: auth } ); + const apiCache = createApiCache(api); + return { api: apiCache, auth }; + } +};