9remote 3.0.4 → 3.0.5

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.
Files changed (194) hide show
  1. package/dist/cli.cjs +2 -2
  2. package/dist/server.cjs +4 -4
  3. package/dist/ui/assets/index-CSihcjlv.js +8 -0
  4. package/dist/ui/index.html +1 -1
  5. package/dist/web/404.html +1 -1
  6. package/dist/web/__next.__PAGE__.txt +2 -2
  7. package/dist/web/__next._full.txt +3 -3
  8. package/dist/web/__next._head.txt +1 -1
  9. package/dist/web/__next._index.txt +2 -2
  10. package/dist/web/__next._tree.txt +2 -2
  11. package/dist/web/_next/static/chunks/3973-919fa2e493564fcf.js +1 -0
  12. package/dist/web/_next/static/chunks/7738-2439d4a20b745ce1.js +1 -0
  13. package/dist/web/_next/static/chunks/9958-9952a61eb6e17812.js +1 -0
  14. package/dist/web/_next/static/chunks/app/admin/admins/{page-b68025e0c5fe453c.js → page-4dd3a5a797a983ab.js} +1 -1
  15. package/dist/web/_next/static/chunks/app/admin/login/{page-38d9b3d31ee14847.js → page-854bcdcb805c63c8.js} +1 -1
  16. package/dist/web/_next/static/chunks/app/admin/modes/{page-7ebdbd17bfde67fd.js → page-b0675a3cdae87688.js} +1 -1
  17. package/dist/web/_next/static/chunks/app/admin/ota/{page-b237f7c870eeade4.js → page-6de419e03b4822ef.js} +1 -1
  18. package/dist/web/_next/static/chunks/app/admin/{page-a197e50c2b5a08f4.js → page-ae83026dc795c35b.js} +1 -1
  19. package/dist/web/_next/static/chunks/app/admin/turn/{page-dc625ee476578675.js → page-8eb4a8792fca9bd9.js} +1 -1
  20. package/dist/web/_next/static/chunks/app/dev/question/page-a58ae088ccc40553.js +1 -0
  21. package/dist/web/_next/static/chunks/app/login/{page-e2c75b449a40fc02.js → page-fda2e8572302edca.js} +1 -1
  22. package/dist/web/_next/static/chunks/app/{page-24d612a793ea7763.js → page-00c77a2e54c385ac.js} +2 -2
  23. package/dist/web/_next/static/chunks/app/workspace/{layout-f5d5ba72458fb2a7.js → layout-90f9ac2ec0cf5aef.js} +6 -6
  24. package/dist/web/_next/static/css/48ee7d57614b1421.css +1 -0
  25. package/dist/web/_not-found/__next._full.txt +2 -2
  26. package/dist/web/_not-found/__next._head.txt +1 -1
  27. package/dist/web/_not-found/__next._index.txt +2 -2
  28. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +1 -1
  29. package/dist/web/_not-found/__next._not-found.txt +1 -1
  30. package/dist/web/_not-found/__next._tree.txt +2 -2
  31. package/dist/web/_not-found.html +1 -1
  32. package/dist/web/_not-found.txt +2 -2
  33. package/dist/web/admin/__next._full.txt +3 -3
  34. package/dist/web/admin/__next._head.txt +1 -1
  35. package/dist/web/admin/__next._index.txt +2 -2
  36. package/dist/web/admin/__next._tree.txt +2 -2
  37. package/dist/web/admin/__next.admin.__PAGE__.txt +2 -2
  38. package/dist/web/admin/__next.admin.txt +1 -1
  39. package/dist/web/admin/admins/__next._full.txt +3 -3
  40. package/dist/web/admin/admins/__next._head.txt +1 -1
  41. package/dist/web/admin/admins/__next._index.txt +2 -2
  42. package/dist/web/admin/admins/__next._tree.txt +2 -2
  43. package/dist/web/admin/admins/__next.admin.admins.__PAGE__.txt +2 -2
  44. package/dist/web/admin/admins/__next.admin.admins.txt +1 -1
  45. package/dist/web/admin/admins/__next.admin.txt +1 -1
  46. package/dist/web/admin/admins.html +1 -1
  47. package/dist/web/admin/admins.txt +3 -3
  48. package/dist/web/admin/login/__next._full.txt +3 -3
  49. package/dist/web/admin/login/__next._head.txt +1 -1
  50. package/dist/web/admin/login/__next._index.txt +2 -2
  51. package/dist/web/admin/login/__next._tree.txt +2 -2
  52. package/dist/web/admin/login/__next.admin.login.__PAGE__.txt +2 -2
  53. package/dist/web/admin/login/__next.admin.login.txt +1 -1
  54. package/dist/web/admin/login/__next.admin.txt +1 -1
  55. package/dist/web/admin/login.html +1 -1
  56. package/dist/web/admin/login.txt +3 -3
  57. package/dist/web/admin/modes/__next._full.txt +3 -3
  58. package/dist/web/admin/modes/__next._head.txt +1 -1
  59. package/dist/web/admin/modes/__next._index.txt +2 -2
  60. package/dist/web/admin/modes/__next._tree.txt +2 -2
  61. package/dist/web/admin/modes/__next.admin.modes.__PAGE__.txt +2 -2
  62. package/dist/web/admin/modes/__next.admin.modes.txt +1 -1
  63. package/dist/web/admin/modes/__next.admin.txt +1 -1
  64. package/dist/web/admin/modes.html +1 -1
  65. package/dist/web/admin/modes.txt +3 -3
  66. package/dist/web/admin/ota/__next._full.txt +3 -3
  67. package/dist/web/admin/ota/__next._head.txt +1 -1
  68. package/dist/web/admin/ota/__next._index.txt +2 -2
  69. package/dist/web/admin/ota/__next._tree.txt +2 -2
  70. package/dist/web/admin/ota/__next.admin.ota.__PAGE__.txt +2 -2
  71. package/dist/web/admin/ota/__next.admin.ota.txt +1 -1
  72. package/dist/web/admin/ota/__next.admin.txt +1 -1
  73. package/dist/web/admin/ota.html +1 -1
  74. package/dist/web/admin/ota.txt +3 -3
  75. package/dist/web/admin/turn/__next._full.txt +3 -3
  76. package/dist/web/admin/turn/__next._head.txt +1 -1
  77. package/dist/web/admin/turn/__next._index.txt +2 -2
  78. package/dist/web/admin/turn/__next._tree.txt +2 -2
  79. package/dist/web/admin/turn/__next.admin.turn.__PAGE__.txt +2 -2
  80. package/dist/web/admin/turn/__next.admin.turn.txt +1 -1
  81. package/dist/web/admin/turn/__next.admin.txt +1 -1
  82. package/dist/web/admin/turn.html +1 -1
  83. package/dist/web/admin/turn.txt +3 -3
  84. package/dist/web/admin.html +1 -1
  85. package/dist/web/admin.txt +3 -3
  86. package/dist/web/dev/question/__next._full.txt +3 -3
  87. package/dist/web/dev/question/__next._head.txt +1 -1
  88. package/dist/web/dev/question/__next._index.txt +2 -2
  89. package/dist/web/dev/question/__next._tree.txt +2 -2
  90. package/dist/web/dev/question/__next.dev.question.__PAGE__.txt +2 -2
  91. package/dist/web/dev/question/__next.dev.question.txt +1 -1
  92. package/dist/web/dev/question/__next.dev.txt +1 -1
  93. package/dist/web/dev/question.html +1 -1
  94. package/dist/web/dev/question.txt +3 -3
  95. package/dist/web/index.html +1 -1
  96. package/dist/web/index.txt +3 -3
  97. package/dist/web/login/__next._full.txt +3 -3
  98. package/dist/web/login/__next._head.txt +1 -1
  99. package/dist/web/login/__next._index.txt +2 -2
  100. package/dist/web/login/__next._tree.txt +2 -2
  101. package/dist/web/login/__next.login.__PAGE__.txt +2 -2
  102. package/dist/web/login/__next.login.txt +1 -1
  103. package/dist/web/login.html +1 -1
  104. package/dist/web/login.txt +3 -3
  105. package/dist/web/workspace/__next._full.txt +3 -3
  106. package/dist/web/workspace/__next._head.txt +1 -1
  107. package/dist/web/workspace/__next._index.txt +2 -2
  108. package/dist/web/workspace/__next._tree.txt +2 -2
  109. package/dist/web/workspace/__next.workspace.__PAGE__.txt +1 -1
  110. package/dist/web/workspace/__next.workspace.txt +2 -2
  111. package/dist/web/workspace/browse/__next._full.txt +3 -3
  112. package/dist/web/workspace/browse/__next._head.txt +1 -1
  113. package/dist/web/workspace/browse/__next._index.txt +2 -2
  114. package/dist/web/workspace/browse/__next._tree.txt +2 -2
  115. package/dist/web/workspace/browse/__next.workspace.browse.__PAGE__.txt +1 -1
  116. package/dist/web/workspace/browse/__next.workspace.browse.txt +1 -1
  117. package/dist/web/workspace/browse/__next.workspace.txt +2 -2
  118. package/dist/web/workspace/browse.html +1 -1
  119. package/dist/web/workspace/browse.txt +3 -3
  120. package/dist/web/workspace/editor/__next._full.txt +3 -3
  121. package/dist/web/workspace/editor/__next._head.txt +1 -1
  122. package/dist/web/workspace/editor/__next._index.txt +2 -2
  123. package/dist/web/workspace/editor/__next._tree.txt +2 -2
  124. package/dist/web/workspace/editor/__next.workspace.editor.__PAGE__.txt +1 -1
  125. package/dist/web/workspace/editor/__next.workspace.editor.txt +1 -1
  126. package/dist/web/workspace/editor/__next.workspace.txt +2 -2
  127. package/dist/web/workspace/editor.html +1 -1
  128. package/dist/web/workspace/editor.txt +3 -3
  129. package/dist/web/workspace/files/__next._full.txt +3 -3
  130. package/dist/web/workspace/files/__next._head.txt +1 -1
  131. package/dist/web/workspace/files/__next._index.txt +2 -2
  132. package/dist/web/workspace/files/__next._tree.txt +2 -2
  133. package/dist/web/workspace/files/__next.workspace.files.__PAGE__.txt +1 -1
  134. package/dist/web/workspace/files/__next.workspace.files.txt +1 -1
  135. package/dist/web/workspace/files/__next.workspace.txt +2 -2
  136. package/dist/web/workspace/files.html +1 -1
  137. package/dist/web/workspace/files.txt +3 -3
  138. package/dist/web/workspace/git/__next._full.txt +3 -3
  139. package/dist/web/workspace/git/__next._head.txt +1 -1
  140. package/dist/web/workspace/git/__next._index.txt +2 -2
  141. package/dist/web/workspace/git/__next._tree.txt +2 -2
  142. package/dist/web/workspace/git/__next.workspace.git.__PAGE__.txt +1 -1
  143. package/dist/web/workspace/git/__next.workspace.git.txt +1 -1
  144. package/dist/web/workspace/git/__next.workspace.txt +2 -2
  145. package/dist/web/workspace/git.html +1 -1
  146. package/dist/web/workspace/git.txt +3 -3
  147. package/dist/web/workspace/mobile/__next._full.txt +3 -3
  148. package/dist/web/workspace/mobile/__next._head.txt +1 -1
  149. package/dist/web/workspace/mobile/__next._index.txt +2 -2
  150. package/dist/web/workspace/mobile/__next._tree.txt +2 -2
  151. package/dist/web/workspace/mobile/__next.workspace.mobile.__PAGE__.txt +1 -1
  152. package/dist/web/workspace/mobile/__next.workspace.mobile.txt +1 -1
  153. package/dist/web/workspace/mobile/__next.workspace.txt +2 -2
  154. package/dist/web/workspace/mobile.html +1 -1
  155. package/dist/web/workspace/mobile.txt +3 -3
  156. package/dist/web/workspace/remote/__next._full.txt +3 -3
  157. package/dist/web/workspace/remote/__next._head.txt +1 -1
  158. package/dist/web/workspace/remote/__next._index.txt +2 -2
  159. package/dist/web/workspace/remote/__next._tree.txt +2 -2
  160. package/dist/web/workspace/remote/__next.workspace.remote.__PAGE__.txt +1 -1
  161. package/dist/web/workspace/remote/__next.workspace.remote.txt +1 -1
  162. package/dist/web/workspace/remote/__next.workspace.txt +2 -2
  163. package/dist/web/workspace/remote.html +1 -1
  164. package/dist/web/workspace/remote.txt +3 -3
  165. package/dist/web/workspace/terminal/default/__next._full.txt +3 -3
  166. package/dist/web/workspace/terminal/default/__next._head.txt +1 -1
  167. package/dist/web/workspace/terminal/default/__next._index.txt +2 -2
  168. package/dist/web/workspace/terminal/default/__next._tree.txt +2 -2
  169. package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.__PAGE__.txt +1 -1
  170. package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.txt +1 -1
  171. package/dist/web/workspace/terminal/default/__next.workspace.terminal.txt +1 -1
  172. package/dist/web/workspace/terminal/default/__next.workspace.txt +2 -2
  173. package/dist/web/workspace/terminal/default.html +1 -1
  174. package/dist/web/workspace/terminal/default.txt +3 -3
  175. package/dist/web/workspace/workspaces/__next._full.txt +3 -3
  176. package/dist/web/workspace/workspaces/__next._head.txt +1 -1
  177. package/dist/web/workspace/workspaces/__next._index.txt +2 -2
  178. package/dist/web/workspace/workspaces/__next._tree.txt +2 -2
  179. package/dist/web/workspace/workspaces/__next.workspace.txt +2 -2
  180. package/dist/web/workspace/workspaces/__next.workspace.workspaces.__PAGE__.txt +1 -1
  181. package/dist/web/workspace/workspaces/__next.workspace.workspaces.txt +1 -1
  182. package/dist/web/workspace/workspaces.html +1 -1
  183. package/dist/web/workspace/workspaces.txt +3 -3
  184. package/dist/web/workspace.html +1 -1
  185. package/dist/web/workspace.txt +3 -3
  186. package/package.json +1 -1
  187. package/dist/ui/assets/index-B3Etxg9r.js +0 -8
  188. package/dist/web/_next/static/chunks/3973-2b22a02354eb3d07.js +0 -1
  189. package/dist/web/_next/static/chunks/8529-dc6ec7164d23d48e.js +0 -1
  190. package/dist/web/_next/static/chunks/9958-4e13af15ce454c7a.js +0 -1
  191. package/dist/web/_next/static/chunks/app/dev/question/page-db919ed1d6babdb4.js +0 -1
  192. package/dist/web/_next/static/css/3bb9c5823a043a03.css +0 -1
  193. /package/dist/web/_next/static/{-4kBSWRXKHPAs-s1ygA3F → aW3BVD9Z6dZG5uaKNzgmQ}/_buildManifest.js +0 -0
  194. /package/dist/web/_next/static/{-4kBSWRXKHPAs-s1ygA3F → aW3BVD9Z6dZG5uaKNzgmQ}/_ssgManifest.js +0 -0
package/dist/cli.cjs CHANGED
@@ -9,7 +9,7 @@ Right-click to open / quit`}function Us(){let{port:e,tunnelUrl:t}=on,r=process.p
9
9
  `}l||(n+=p)}else{var w=$o(Nr).times(o.getModuleCount()+3);n+=w+`
10
10
  `,o.modules.forEach(function(T){n+=Nr,n+=T.map(Ql).join(""),n+=Nr+`
11
11
  `}),n+=w}r?r(n):console.log(n)},setErrorLevel:function(e){this.error=xa[e]||this.error}}});var nr=require("fs"),vn=require("path"),qo=require("url"),Jo=R(require("os"),1);var tr=R(require("dns"),1),we=R(require("path"),1),Ho=R(require("os"),1),oe="9remote",Fr=process.env.NREMOTE_REGISTRY||`https://registry.npmjs.org/${oe}/latest`,De=`${oe}@latest`,xe=process.env.NREMOTE_HOME||we.default.join(Ho.default.homedir(),".9remote"),G={ROOT:xe,LOGS:we.default.join(xe,"logs"),STATE:we.default.join(xe,"state"),CONFIG:we.default.join(xe,"config"),BIN:we.default.join(xe,"bin"),PIDS:we.default.join(xe,"pids"),BUFFERS:we.default.join(xe,"buffers"),DAEMON:we.default.join(xe,"daemon"),AI_SESSIONS:we.default.join(xe,"ai-sessions"),BACKGROUNDS:we.default.join(xe,"backgrounds")},Wo=new tr.default.promises.Resolver;Wo.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]);var Ur=tr.default.lookup,Ja=/^(\d{1,3}\.){3}\d{1,3}$|^::1$|^[0-9a-f:]+$/i;tr.default.lookup=(e,t,r)=>{if(typeof t=="function"&&(r=t,t={}),e==="localhost"||Ja.test(e))return Ur(e,t,r);Wo.resolve4(e).then(o=>{if(!o?.length)return Ur(e,t,r);t.all?r(null,o.map(n=>({address:n,family:4}))):r(null,o[0],4)}).catch(()=>Ur(e,t,r))};var k=2208,jo=process.execPath,Go=(e=process.env)=>process.versions.electron?{...e,ELECTRON_RUN_AS_NODE:"1"}:{...e};var Fo=5173,Ko=3e3;var yu=[`http://localhost:${k}`,`http://127.0.0.1:${k}`,`http://localhost:${Fo}`,`http://127.0.0.1:${Fo}`,`http://localhost:${Ko}`,`http://127.0.0.1:${Ko}`],wn={fileName:"agent.log",rotatedName:"agent.log.1",maxBytes:2*1024*1024,cleanupAfterDays:7},Vo=60,L={STOPPED:0,PREPARING:1,CONNECTING:2,TUNNELING:3,VERIFYING:4,READY:5},Yo={showTunnelUrlInMenu:!1};var Xo={CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN:"1"};var Qo={checkIntervalMs:3e4,requestTimeoutMs:5e3},ce={server:{strategy:"exp",baseMs:1e3,maxMs:6e4},tunnelRestart:{strategy:"exp",baseMs:2e3,maxMs:3e5},tunnelSpawn:{strategy:"linear",baseMs:5e3,maxMs:6e4},tunnelRateLimit:{strategy:"exp",baseMs:6e4,maxMs:9e5},internet:{strategy:"linear",baseMs:3e3,maxMs:6e4},sse:{strategy:"linear",baseMs:2e3,maxMs:2e3},urlSync:{strategy:"linear",baseMs:5e3,maxMs:6e4}},Za={Accept:"application/json, text/plain, */*","Accept-Language":"en-US,en;q=0.9","Cache-Control":"no-cache",Pragma:"no-cache","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"};function K(e,t={}){return fetch(e,{...t,headers:{...Za,...t.headers}})}var za=(0,vn.dirname)((0,qo.fileURLToPath)(__importMetaUrl)),ec=[(0,vn.join)(Jo.default.homedir(),".9remote",".env"),(0,vn.join)(za,"..",".env")];function tc(e){for(let t of e.split(`
12
- `)){let r=t.trim();if(!r||r.startsWith("#"))continue;let o=r.match(/^([A-Z_][A-Z0-9_]*)\s*=\s*"?(.*?)"?$/);o&&!process.env[o[1]]&&(process.env[o[1]]=o[2])}}for(let e of ec)if((0,nr.existsSync)(e))try{tc((0,nr.readFileSync)(e,"utf8"))}catch{}for(let[e,t]of Object.entries(Xo))process.env[e]||(process.env[e]=t);var jr=R(require("path"),1),li=R(require("fs"),1),ui=require("url");var zo=R(Zo(),1),Hr=R(require("crypto"),1),{machineIdSync:nc}=zo.default;async function Ct(e=null){let t=e||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=nc();return Hr.default.createHash("sha256").update(r+t).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),Hr.default.randomUUID().replace(/-/g,"").substring(0,16)}}var ni=R(require("crypto"),1),Su=process.env.API_KEY_SECRET||process.env.APP_SECRET;var ei="abcdefghijklmnpqrstuvwxyz123456789",rc=8;function ti(){let e="";for(let t=0;t<rc;t++)e+=ei[ni.default.randomInt(ei.length)];return e}function Mt(e){return`sk-${(e||"").slice(0,8).toLowerCase()}-${ti()}-${ti()}`}function oc(e){return/^sk-[a-z0-9]{8}-[a-np-z1-9]{8}-[a-np-z1-9]{8}$/.test(e||"")}function V(e){if(!oc(e))return e||null;let t=e.split("-");return`${t[0]}-${t[1]}-${t[2]}`}function rr(e){return!e||e.length<8?"sk-***":`${e.slice(0,3)}***${e.slice(-4)}`}var fe=R(require("fs"),1),Tn=R(require("path"),1);var le=require("fs"),ri=require("path"),ic=0;function Be(e,t,r={}){let{mode:o=384,spaces:n=2}=r;(0,le.mkdirSync)((0,ri.dirname)(e),{recursive:!0});let i=`${e}.${process.pid}.${++ic}.tmp`;try{(0,le.writeFileSync)(i,JSON.stringify(t,null,n),{mode:o}),(0,le.renameSync)(i,e)}catch(s){try{(0,le.existsSync)(i)&&(0,le.unlinkSync)(i)}catch{}throw s}}function oi(e,t=null){try{return(0,le.existsSync)(e)?JSON.parse((0,le.readFileSync)(e,"utf8")):t}catch{return t}}var Ru=G.STATE,Sn=Tn.default.join(G.STATE,"state.json"),Wr=Tn.default.join(G.ROOT,"keys.json"),or=Tn.default.join(G.STATE,"cmd.json"),Pu=Tn.default.join(G.STATE,"settings.json");function An(){for(let e of[G.ROOT,G.STATE])fe.default.existsSync(e)||fe.default.mkdirSync(e,{recursive:!0})}function ii(){try{return An(),fe.default.existsSync(Sn)?JSON.parse(fe.default.readFileSync(Sn,"utf8")):null}catch{return null}}function bn(e){try{An(),Be(Sn,e)}catch(t){console.error("Error saving state:",t)}}function si(){try{fe.default.existsSync(Sn)&&fe.default.unlinkSync(Sn)}catch{}}function ir(){try{return An(),fe.default.existsSync(Wr)?JSON.parse(fe.default.readFileSync(Wr,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function $t(e){try{An(),Be(or,{cmd:e,ts:Date.now()},{spaces:0})}catch{}}function ai(){try{if(!fe.default.existsSync(or))return null;let e=JSON.parse(fe.default.readFileSync(or,"utf8"));return fe.default.unlinkSync(or),e.cmd}catch{return null}}function wt(e,t,r="Default"){try{An();let o={machineId:e,key:t,name:r,createdAt:new Date().toISOString()};return Be(Wr,o),o}catch(o){return console.error("Error saving key:",o),null}}function ci(){return process.env.CODESPACES==="true"}var sc=jr.default.dirname((0,ui.fileURLToPath)(__importMetaUrl));async function Ze(){let e=await Ct();if(ci()&&process.env.NREMOTE_API_KEY)return wt(e,process.env.NREMOTE_API_KEY,"Codespace");let t=ir();if(!t.key){let r=Mt(e);t=wt(e,r,"Default")}return t}function Re(){return"3.0.4"}var Pe=R(require("fs"),1),Gr=R(require("path"),1);var ar=G.LOGS,xn=Gr.default.join(ar,wn.fileName),cr=Gr.default.join(ar,wn.rotatedName),fi=!1,pi=null;function ac(){Pe.default.existsSync(ar)||Pe.default.mkdirSync(ar,{recursive:!0})}function cc(){try{if(Pe.default.statSync(xn).size<wn.maxBytes)return;try{Pe.default.rmSync(cr,{force:!0})}catch{}Pe.default.renameSync(xn,cr)}catch{}}function lc(){try{let e=Pe.default.statSync(cr);Date.now()-e.mtimeMs>wn.cleanupAfterDays*864e5&&Pe.default.rmSync(cr,{force:!0})}catch{}}function Vr(e){try{cc(),Pe.default.appendFileSync(xn,e+`
12
+ `)){let r=t.trim();if(!r||r.startsWith("#"))continue;let o=r.match(/^([A-Z_][A-Z0-9_]*)\s*=\s*"?(.*?)"?$/);o&&!process.env[o[1]]&&(process.env[o[1]]=o[2])}}for(let e of ec)if((0,nr.existsSync)(e))try{tc((0,nr.readFileSync)(e,"utf8"))}catch{}for(let[e,t]of Object.entries(Xo))process.env[e]||(process.env[e]=t);var jr=R(require("path"),1),li=R(require("fs"),1),ui=require("url");var zo=R(Zo(),1),Hr=R(require("crypto"),1),{machineIdSync:nc}=zo.default;async function Ct(e=null){let t=e||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=nc();return Hr.default.createHash("sha256").update(r+t).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),Hr.default.randomUUID().replace(/-/g,"").substring(0,16)}}var ni=R(require("crypto"),1),Su=process.env.API_KEY_SECRET||process.env.APP_SECRET;var ei="abcdefghijklmnpqrstuvwxyz123456789",rc=8;function ti(){let e="";for(let t=0;t<rc;t++)e+=ei[ni.default.randomInt(ei.length)];return e}function Mt(e){return`sk-${(e||"").slice(0,8).toLowerCase()}-${ti()}-${ti()}`}function oc(e){return/^sk-[a-z0-9]{8}-[a-np-z1-9]{8}-[a-np-z1-9]{8}$/.test(e||"")}function V(e){if(!oc(e))return e||null;let t=e.split("-");return`${t[0]}-${t[1]}-${t[2]}`}function rr(e){return!e||e.length<8?"sk-***":`${e.slice(0,3)}***${e.slice(-4)}`}var fe=R(require("fs"),1),Tn=R(require("path"),1);var le=require("fs"),ri=require("path"),ic=0;function Be(e,t,r={}){let{mode:o=384,spaces:n=2}=r;(0,le.mkdirSync)((0,ri.dirname)(e),{recursive:!0});let i=`${e}.${process.pid}.${++ic}.tmp`;try{(0,le.writeFileSync)(i,JSON.stringify(t,null,n),{mode:o}),(0,le.renameSync)(i,e)}catch(s){try{(0,le.existsSync)(i)&&(0,le.unlinkSync)(i)}catch{}throw s}}function oi(e,t=null){try{return(0,le.existsSync)(e)?JSON.parse((0,le.readFileSync)(e,"utf8")):t}catch{return t}}var Ru=G.STATE,Sn=Tn.default.join(G.STATE,"state.json"),Wr=Tn.default.join(G.ROOT,"keys.json"),or=Tn.default.join(G.STATE,"cmd.json"),Pu=Tn.default.join(G.STATE,"settings.json");function An(){for(let e of[G.ROOT,G.STATE])fe.default.existsSync(e)||fe.default.mkdirSync(e,{recursive:!0})}function ii(){try{return An(),fe.default.existsSync(Sn)?JSON.parse(fe.default.readFileSync(Sn,"utf8")):null}catch{return null}}function bn(e){try{An(),Be(Sn,e)}catch(t){console.error("Error saving state:",t)}}function si(){try{fe.default.existsSync(Sn)&&fe.default.unlinkSync(Sn)}catch{}}function ir(){try{return An(),fe.default.existsSync(Wr)?JSON.parse(fe.default.readFileSync(Wr,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function $t(e){try{An(),Be(or,{cmd:e,ts:Date.now()},{spaces:0})}catch{}}function ai(){try{if(!fe.default.existsSync(or))return null;let e=JSON.parse(fe.default.readFileSync(or,"utf8"));return fe.default.unlinkSync(or),e.cmd}catch{return null}}function wt(e,t,r="Default"){try{An();let o={machineId:e,key:t,name:r,createdAt:new Date().toISOString()};return Be(Wr,o),o}catch(o){return console.error("Error saving key:",o),null}}function ci(){return process.env.CODESPACES==="true"}var sc=jr.default.dirname((0,ui.fileURLToPath)(__importMetaUrl));async function Ze(){let e=await Ct();if(ci()&&process.env.NREMOTE_API_KEY)return wt(e,process.env.NREMOTE_API_KEY,"Codespace");let t=ir();if(!t.key){let r=Mt(e);t=wt(e,r,"Default")}return t}function Re(){return"3.0.5"}var Pe=R(require("fs"),1),Gr=R(require("path"),1);var ar=G.LOGS,xn=Gr.default.join(ar,wn.fileName),cr=Gr.default.join(ar,wn.rotatedName),fi=!1,pi=null;function ac(){Pe.default.existsSync(ar)||Pe.default.mkdirSync(ar,{recursive:!0})}function cc(){try{if(Pe.default.statSync(xn).size<wn.maxBytes)return;try{Pe.default.rmSync(cr,{force:!0})}catch{}Pe.default.renameSync(xn,cr)}catch{}}function lc(){try{let e=Pe.default.statSync(cr);Date.now()-e.mtimeMs>wn.cleanupAfterDays*864e5&&Pe.default.rmSync(cr,{force:!0})}catch{}}function Vr(e){try{cc(),Pe.default.appendFileSync(xn,e+`
13
13
  `)}catch{}}function sr(e){return e.map(t=>{if(t instanceof Error)return t.stack||t.message;if(typeof t=="object")try{return JSON.stringify(t)}catch{return String(t)}return String(t)}).join(" ")}function di(){let e=new Date,t=(r,o=2)=>String(r).padStart(o,"0");return`${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())}.${t(e.getMilliseconds(),3)}`}var uc=/\x1b\[[0-9;]*m/g,fc=/https?:\/\/[^\s]+/g;function pc(e){return String(e).replace(uc,"").replace(fc,"").replace(/\s+$/g,"")}function Nt(e,t,r){let o=pc(r);if(!o)return;let n=t==="info"?e:`${e}:${t}`,i=`${di()} [${n}] ${o}`;if(Vr(i),pi)try{pi(i)}catch{}}function dc(){process.on("uncaughtException",e=>Nt("crash","error",`uncaughtException: ${e?.stack||e?.message||e}`)),process.on("unhandledRejection",e=>{let t=e instanceof Error?e.stack||e.message:String(e);Nt("crash","error",`unhandledRejection: ${t}`)}),process.on("exit",e=>Vr(`${di()} [exit] code=${e} pid=${process.pid}`))}function mi(){fi||(fi=!0,ac(),lc(),Vr(`
14
14
  === SESSION ${new Date().toISOString()} pid=${process.pid} argv=${process.argv.slice(2).join(" ")} ===`),dc())}function hi(e=60){try{return Pe.default.readFileSync(xn,"utf8").split(`
15
15
  `).filter(Boolean).slice(-e)}catch{return[]}}var mc=process.env.NODE_ENV==="development"||process.env.AGENT_DEBUG==="1";function H(e){return{debug:(...t)=>{mc&&Nt(e,"debug",sr(t))},info:(...t)=>Nt(e,"info",sr(t)),warn:(...t)=>Nt(e,"warn",sr(t)),error:(...t)=>Nt(e,"error",sr(t))}}var Rn=xn;var gi=(e=0)=>t=>`\x1B[${t+e}m`,yi=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,wi=(e=0)=>(t,r,o)=>`\x1B[${38+e};2;${t};${r};${o}m`,D={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Du=Object.keys(D.modifier),hc=Object.keys(D.color),gc=Object.keys(D.bgColor),Bu=[...hc,...gc];function yc(){let e=new Map;for(let[t,r]of Object.entries(D)){for(let[o,n]of Object.entries(r))D[o]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},r[o]=D[o],e.set(n[0],n[1]);Object.defineProperty(D,t,{value:r,enumerable:!1})}return Object.defineProperty(D,"codes",{value:e,enumerable:!1}),D.color.close="\x1B[39m",D.bgColor.close="\x1B[49m",D.color.ansi=gi(),D.color.ansi256=yi(),D.color.ansi16m=wi(),D.bgColor.ansi=gi(10),D.bgColor.ansi256=yi(10),D.bgColor.ansi16m=wi(10),Object.defineProperties(D,{rgbToAnsi256:{value(t,r,o){return t===r&&r===o?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)},enumerable:!1},hexToRgb:{value(t){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[o]=r;o.length===3&&(o=[...o].map(i=>i+i).join(""));let n=Number.parseInt(o,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:t=>D.rgbToAnsi256(...D.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,o,n;if(t>=232)r=((t-232)*10+8)/255,o=r,n=r;else{t-=16;let a=t%36;r=Math.floor(t/36)/5,o=Math.floor(a/6)/5,n=a%6/5}let i=Math.max(r,o,n)*2;if(i===0)return 30;let s=30+(Math.round(n)<<2|Math.round(o)<<1|Math.round(r));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,r,o)=>D.ansi256ToAnsi(D.rgbToAnsi256(t,r,o)),enumerable:!1},hexToAnsi:{value:t=>D.ansi256ToAnsi(D.hexToAnsi256(t)),enumerable:!1}}),D}var wc=yc(),ve=wc;var ur=R(require("node:process"),1),Ei=R(require("node:os"),1),Yr=R(require("node:tty"),1);function pe(e,t=globalThis.Deno?globalThis.Deno.args:ur.default.argv){let r=e.startsWith("-")?"":e.length===1?"-":"--",o=t.indexOf(r+e),n=t.indexOf("--");return o!==-1&&(n===-1||o<n)}var{env:B}=ur.default,lr;pe("no-color")||pe("no-colors")||pe("color=false")||pe("color=never")?lr=0:(pe("color")||pe("colors")||pe("color=true")||pe("color=always"))&&(lr=1);function vc(){if("FORCE_COLOR"in B)return B.FORCE_COLOR==="true"?1:B.FORCE_COLOR==="false"?0:B.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(B.FORCE_COLOR,10),3)}function Ec(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Sc(e,{streamIsTTY:t,sniffFlags:r=!0}={}){let o=vc();o!==void 0&&(lr=o);let n=r?lr:o;if(n===0)return 0;if(r){if(pe("color=16m")||pe("color=full")||pe("color=truecolor"))return 3;if(pe("color=256"))return 2}if("TF_BUILD"in B&&"AGENT_NAME"in B)return 1;if(e&&!t&&n===void 0)return 0;let i=n||0;if(B.TERM==="dumb")return i;if(ur.default.platform==="win32"){let s=Ei.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in B)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in B)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in B)||B.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in B)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(B.TEAMCITY_VERSION)?1:0;if(B.COLORTERM==="truecolor"||B.TERM==="xterm-kitty"||B.TERM==="xterm-ghostty"||B.TERM==="wezterm")return 3;if("TERM_PROGRAM"in B){let s=Number.parseInt((B.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(B.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(B.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(B.TERM)||"COLORTERM"in B?1:i}function vi(e,t={}){let r=Sc(e,{streamIsTTY:e&&e.isTTY,...t});return Ec(r)}var Tc={stdout:vi({isTTY:Yr.default.isatty(1)}),stderr:vi({isTTY:Yr.default.isatty(2)})},Si=Tc;function Ti(e,t,r){let o=e.indexOf(t);if(o===-1)return e;let n=t.length,i=0,s="";do s+=e.slice(i,o)+t+r,i=o+n,o=e.indexOf(t,i);while(o!==-1);return s+=e.slice(i),s}function Ai(e,t,r,o){let n=0,i="";do{let s=e[o-1]==="\r";i+=e.slice(n,s?o-1:o)+t+(s?`\r
@@ -71,7 +71,7 @@ StandardError=append:${mr}
71
71
 
72
72
  [Install]
73
73
  WantedBy=default.target
74
- `}function Uc(e){try{return(0,St.execFileSync)("systemctl",["--user",...e],{stdio:"ignore"}),!0}catch{return!1}}function Fc(){return(0,M.existsSync)(z.linux)||(0,M.existsSync)(z.linuxSystemd)}async function Kc(){try{if(process.platform==="darwin")return Cc();if(process.platform==="win32")return await Nc();if(process.platform==="linux")return Fc()}catch{}return!1}async function Ni(){try{if(process.platform==="win32"&&$c(),!await Kc())return!1;if(process.platform==="darwin"){let e=_c(ke(),et());return((0,M.existsSync)(z.darwin)?(0,M.readFileSync)(z.darwin,"utf8"):"")===e?!1:((0,M.writeFileSync)(z.darwin,e),!0)}if(process.platform==="win32"){let e=Mc();return((0,M.existsSync)(z.win)?(0,M.readFileSync)(z.win,"utf8"):"")===e?!1:((0,M.writeFileSync)(z.win,e),!0)}if(process.platform==="linux"){if((0,M.existsSync)(z.linuxSystemd)){let e=Bc();return(0,M.readFileSync)(z.linuxSystemd,"utf8")===e?!1:((0,M.writeFileSync)(z.linuxSystemd,e),Uc(["daemon-reload"]),!0)}if((0,M.existsSync)(z.linux)){let e=Dc();return(0,M.readFileSync)(z.linux,"utf8")===e?!1:((0,M.writeFileSync)(z.linux,e),!0)}}}catch{}return!1}var Ju=process.env.NODE_ENV==="development";var C=process.env.NREMOTE_WORKER_URL||"https://9remote.cc",Di=3e4,Bi=500,no=300,Ee={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},tt={intervalMs:2e3,timeoutMs:12e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},de={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400};var Fe={maxLogLines:200,headerWidth:44},Ft={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},Ui=5e3,ro=12e4,Fi=1500,Ki=2,Hi=3e4,ie={orange:m.rgb(230,138,110),orangeDim:m.rgb(200,120,95)};var Hc=Ie.default.dirname((0,ji.fileURLToPath)(__importMetaUrl)),Gi=3e3;var wr=2208,oo=Ie.default.join(Kt.default.homedir(),".9remote","cloudflared.pid");function Wc(){try{Ii()}catch{}try{if((0,Y.existsSync)(oo)){let e=parseInt((0,Y.readFileSync)(oo,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,Y.unlinkSync)(oo)}catch{}}}catch{}try{process.platform==="win32"?(0,Ln.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${wr}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,Ln.execSync)(`lsof -ti:${wr} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function Vi(){return"3.0.4"}function Yi(e,t){let r=e.split(".").map(Number),o=t.split(".").map(Number);for(let n=0;n<3;n++){if(o[n]>r[n])return!0;if(o[n]<r[n])return!1}return!1}function jc(){return process.env.CODESPACES==="true"||process.env.GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN?"GitHub Codespaces":(0,Y.existsSync)("/.dockerenv")?"Docker":null}function vr(){Wc()}async function Xi(){try{let e=Vi();if(!e)return null;let t=await K(Fr,{signal:AbortSignal.timeout(Gi)});if(!t.ok)return null;let{version:r}=await t.json();return r&&Yi(e,r)?{current:e,latest:r}:null}catch{return null}}var yr=Ie.default.join(G.STATE,Ft.lockFile);function Gc(){try{if((0,Y.existsSync)(yr)){let{pid:e,ts:t}=JSON.parse((0,Y.readFileSync)(yr,"utf8")),r=Date.now()-t<Ft.lockTtlMs,o=!1;try{process.kill(e,0),o=!0}catch{}if(r&&o)return!1}}catch{}try{(0,Y.writeFileSync)(yr,JSON.stringify({pid:process.pid,ts:Date.now()}))}catch{}return!0}async function Vc(){try{let e=await K(Fr,{signal:AbortSignal.timeout(Gi)});if(!e.ok)return null;let{version:t}=await e.json();return t||null}catch{return null}}function Yc(){try{if(process.env.NREMOTE_REGISTRY)return`--registry ${new URL(process.env.NREMOTE_REGISTRY).origin}`}catch{}return""}function Xc(){let e=et(),t=Ie.default.sep,r=`${t}lib${t}node_modules${t}`,o=e.indexOf(r);return o>0?{global:"-g",prefix:`--prefix "${e.slice(0,o)}"`}:(o=e.indexOf(`${t}node_modules${t}`),o>0?{global:"",prefix:`--prefix "${e.slice(0,o)}"`}:{global:"-g",prefix:""})}function Wi(){let e=process.argv.slice(2).filter(r=>r!=="--skip-update");return e.includes("ui")||e.includes("start")||e.some(r=>["--tray","--auto","--start"].includes(r))?`${e.join(" ")} --skip-update`:"--tray --skip-update --start"}function Qc(){let e=process.env.NREMOTE_NPM_CLI;return e&&(0,Y.existsSync)(e)?process.platform==="win32"?`"${ke()}" "${e}"`:`env ELECTRON_RUN_AS_NODE=1 "${ke()}" "${e}"`:"npm"}function qc({currentVersion:e,latest:t,agentPid:r}){let o=Oi(),n=Yc(),i=ke(),s=Ci(),a=et(),c=yr,{global:l,prefix:u}=Xc(),f=`${l} --prefer-online --no-audit --no-fund ${n} ${u}`.trim(),p=Qc();if(process.platform==="win32"){let w=Ie.default.join(Kt.default.tmpdir(),`${oe}-restart.vbs`),T=`@echo off
74
+ `}function Uc(e){try{return(0,St.execFileSync)("systemctl",["--user",...e],{stdio:"ignore"}),!0}catch{return!1}}function Fc(){return(0,M.existsSync)(z.linux)||(0,M.existsSync)(z.linuxSystemd)}async function Kc(){try{if(process.platform==="darwin")return Cc();if(process.platform==="win32")return await Nc();if(process.platform==="linux")return Fc()}catch{}return!1}async function Ni(){try{if(process.platform==="win32"&&$c(),!await Kc())return!1;if(process.platform==="darwin"){let e=_c(ke(),et());return((0,M.existsSync)(z.darwin)?(0,M.readFileSync)(z.darwin,"utf8"):"")===e?!1:((0,M.writeFileSync)(z.darwin,e),!0)}if(process.platform==="win32"){let e=Mc();return((0,M.existsSync)(z.win)?(0,M.readFileSync)(z.win,"utf8"):"")===e?!1:((0,M.writeFileSync)(z.win,e),!0)}if(process.platform==="linux"){if((0,M.existsSync)(z.linuxSystemd)){let e=Bc();return(0,M.readFileSync)(z.linuxSystemd,"utf8")===e?!1:((0,M.writeFileSync)(z.linuxSystemd,e),Uc(["daemon-reload"]),!0)}if((0,M.existsSync)(z.linux)){let e=Dc();return(0,M.readFileSync)(z.linux,"utf8")===e?!1:((0,M.writeFileSync)(z.linux,e),!0)}}}catch{}return!1}var Ju=process.env.NODE_ENV==="development";var C=process.env.NREMOTE_WORKER_URL||"https://9remote.cc",Di=3e4,Bi=500,no=300,Ee={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},tt={intervalMs:2e3,timeoutMs:12e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},de={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400};var Fe={maxLogLines:200,headerWidth:44},Ft={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},Ui=5e3,ro=12e4,Fi=1500,Ki=2,Hi=3e4,ie={orange:m.rgb(230,138,110),orangeDim:m.rgb(200,120,95)};var Hc=Ie.default.dirname((0,ji.fileURLToPath)(__importMetaUrl)),Gi=3e3;var wr=2208,oo=Ie.default.join(Kt.default.homedir(),".9remote","cloudflared.pid");function Wc(){try{Ii()}catch{}try{if((0,Y.existsSync)(oo)){let e=parseInt((0,Y.readFileSync)(oo,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,Y.unlinkSync)(oo)}catch{}}}catch{}try{process.platform==="win32"?(0,Ln.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${wr}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,Ln.execSync)(`lsof -ti:${wr} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function Vi(){return"3.0.5"}function Yi(e,t){let r=e.split(".").map(Number),o=t.split(".").map(Number);for(let n=0;n<3;n++){if(o[n]>r[n])return!0;if(o[n]<r[n])return!1}return!1}function jc(){return process.env.CODESPACES==="true"||process.env.GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN?"GitHub Codespaces":(0,Y.existsSync)("/.dockerenv")?"Docker":null}function vr(){Wc()}async function Xi(){try{let e=Vi();if(!e)return null;let t=await K(Fr,{signal:AbortSignal.timeout(Gi)});if(!t.ok)return null;let{version:r}=await t.json();return r&&Yi(e,r)?{current:e,latest:r}:null}catch{return null}}var yr=Ie.default.join(G.STATE,Ft.lockFile);function Gc(){try{if((0,Y.existsSync)(yr)){let{pid:e,ts:t}=JSON.parse((0,Y.readFileSync)(yr,"utf8")),r=Date.now()-t<Ft.lockTtlMs,o=!1;try{process.kill(e,0),o=!0}catch{}if(r&&o)return!1}}catch{}try{(0,Y.writeFileSync)(yr,JSON.stringify({pid:process.pid,ts:Date.now()}))}catch{}return!0}async function Vc(){try{let e=await K(Fr,{signal:AbortSignal.timeout(Gi)});if(!e.ok)return null;let{version:t}=await e.json();return t||null}catch{return null}}function Yc(){try{if(process.env.NREMOTE_REGISTRY)return`--registry ${new URL(process.env.NREMOTE_REGISTRY).origin}`}catch{}return""}function Xc(){let e=et(),t=Ie.default.sep,r=`${t}lib${t}node_modules${t}`,o=e.indexOf(r);return o>0?{global:"-g",prefix:`--prefix "${e.slice(0,o)}"`}:(o=e.indexOf(`${t}node_modules${t}`),o>0?{global:"",prefix:`--prefix "${e.slice(0,o)}"`}:{global:"-g",prefix:""})}function Wi(){let e=process.argv.slice(2).filter(r=>r!=="--skip-update");return e.includes("ui")||e.includes("start")||e.some(r=>["--tray","--auto","--start"].includes(r))?`${e.join(" ")} --skip-update`:"--tray --skip-update --start"}function Qc(){let e=process.env.NREMOTE_NPM_CLI;return e&&(0,Y.existsSync)(e)?process.platform==="win32"?`"${ke()}" "${e}"`:`env ELECTRON_RUN_AS_NODE=1 "${ke()}" "${e}"`:"npm"}function qc({currentVersion:e,latest:t,agentPid:r}){let o=Oi(),n=Yc(),i=ke(),s=Ci(),a=et(),c=yr,{global:l,prefix:u}=Xc(),f=`${l} --prefer-online --no-audit --no-fund ${n} ${u}`.trim(),p=Qc();if(process.platform==="win32"){let w=Ie.default.join(Kt.default.tmpdir(),`${oe}-restart.vbs`),T=`@echo off
75
75
  setlocal EnableDelayedExpansion
76
76
  set "NODE=${i}"
77
77
  set "CLI=${a}"