9remote 3.0.27 → 3.0.32

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 (326) hide show
  1. package/README.md +16 -12
  2. package/dist/bin/desktop-bridge.cs +5 -5
  3. package/dist/bin/desktop-elevate.cs +1 -1
  4. package/dist/cli.cjs +128 -108
  5. package/dist/ptyDaemon.cjs +10 -10
  6. package/dist/server.cjs +496 -206
  7. package/dist/ui/assets/index--4F7rf4t.js +8 -0
  8. package/dist/ui/index.html +1 -1
  9. package/dist/web/404.html +1 -1
  10. package/dist/web/__next.__PAGE__.txt +2 -2
  11. package/dist/web/__next._full.txt +21 -19
  12. package/dist/web/__next._head.txt +1 -1
  13. package/dist/web/__next._index.txt +8 -6
  14. package/dist/web/__next._tree.txt +3 -2
  15. package/dist/web/_next/static/chunks/{8669-9e059733295a6fc1.js → 1050-b9af41e8856b58c0.js} +1 -1
  16. package/dist/web/_next/static/chunks/1222.a2ce7d7f04241e2a.js +1 -0
  17. package/dist/web/_next/static/chunks/1228.046ad5fd038f5192.js +1 -0
  18. package/dist/web/_next/static/chunks/1243.1d11020940b8a88b.js +1 -0
  19. package/dist/web/_next/static/chunks/132.1ed2fce3a4b6f7ee.js +1 -0
  20. package/dist/web/_next/static/chunks/1750.2cbe0f722b879a3b.js +1 -0
  21. package/dist/web/_next/static/chunks/2038.b7c72b442a1b2d92.js +1 -0
  22. package/dist/web/_next/static/chunks/213.f07a816120a320ba.js +1 -0
  23. package/dist/web/_next/static/chunks/2180.23585bd3f3308f3a.js +1 -0
  24. package/dist/web/_next/static/chunks/2849.360e2c64521fa795.js +1 -0
  25. package/dist/web/_next/static/chunks/3429.98d7e79ff6d2a6ce.js +1 -0
  26. package/dist/web/_next/static/chunks/3514.9079bf49bb3e05c9.js +1 -0
  27. package/dist/web/_next/static/chunks/4300-fb55814d743e1313.js +1 -0
  28. package/dist/web/_next/static/chunks/4643.ddf3ea3a760e73a5.js +1 -0
  29. package/dist/web/_next/static/chunks/5788-d574869f0879e799.js +1 -0
  30. package/dist/web/_next/static/chunks/6276.aa48f74970f7ef3d.js +1 -0
  31. package/dist/web/_next/static/chunks/6419.99aa173d83f20370.js +1 -0
  32. package/dist/web/_next/static/chunks/6552-f908d82b4c4161ed.js +1 -0
  33. package/dist/web/_next/static/chunks/674.97a7237f011fb986.js +1 -0
  34. package/dist/web/_next/static/chunks/6742.bc3783b9784ead96.js +1 -0
  35. package/dist/web/_next/static/chunks/7507.28a3807b5d02a5c1.js +1 -0
  36. package/dist/web/_next/static/chunks/7960.026e07028dd25edb.js +1 -0
  37. package/dist/web/_next/static/chunks/8467.290e9bde34b58e7c.js +1 -0
  38. package/dist/web/_next/static/chunks/8638.237712645dcdcb8a.js +1 -0
  39. package/dist/web/_next/static/chunks/8669-8d1fb8dce08c886d.js +11 -0
  40. package/dist/web/_next/static/chunks/8762-62e9a4a001d3e204.js +1 -0
  41. package/dist/web/_next/static/chunks/8922-6961d48ca52e1c93.js +1 -0
  42. package/dist/web/_next/static/chunks/925.fe600c6039a3201d.js +1 -0
  43. package/dist/web/_next/static/chunks/9259.c450f561db04037d.js +1 -0
  44. package/dist/web/_next/static/chunks/9299.83236781dfa74eb0.js +1 -0
  45. package/dist/web/_next/static/chunks/9871-9cd97efc98617c33.js +1 -0
  46. package/dist/web/_next/static/chunks/app/_global-error/page-e656bb9bc0f3fd3d.js +1 -0
  47. package/dist/web/_next/static/chunks/app/admin/access/page-3a49e3c597eea658.js +5 -0
  48. package/dist/web/_next/static/chunks/app/admin/login/page-c7bdfdfbcc763df4.js +1 -0
  49. package/dist/web/_next/static/chunks/app/admin/ota/page-406ff48a5882efa4.js +5 -0
  50. package/dist/web/_next/static/chunks/app/admin/page-434461c255fd088a.js +5 -0
  51. package/dist/web/_next/static/chunks/app/admin/turn/page-dd7552f387e08b36.js +5 -0
  52. package/dist/web/_next/static/chunks/app/dev/question/page-ab488886d05baea5.js +1 -0
  53. package/dist/web/_next/static/chunks/app/download/page-2811ea822a1e586a.js +1 -0
  54. package/dist/web/_next/static/chunks/app/layout-444afebe5b95afff.js +1 -0
  55. package/dist/web/_next/static/chunks/app/login/page-80cc1994a494dfed.js +1 -0
  56. package/dist/web/_next/static/chunks/app/page-f416e79015c32480.js +22 -0
  57. package/dist/web/_next/static/chunks/app/workspace/browse/page-e656bb9bc0f3fd3d.js +1 -0
  58. package/dist/web/_next/static/chunks/app/workspace/editor/page-e656bb9bc0f3fd3d.js +1 -0
  59. package/dist/web/_next/static/chunks/app/workspace/files/page-e656bb9bc0f3fd3d.js +1 -0
  60. package/dist/web/_next/static/chunks/app/workspace/git/page-e656bb9bc0f3fd3d.js +1 -0
  61. package/dist/web/_next/static/chunks/app/workspace/layout-a1024034aa67994d.js +15 -0
  62. package/dist/web/_next/static/chunks/app/workspace/mobile/page-e656bb9bc0f3fd3d.js +1 -0
  63. package/dist/web/_next/static/chunks/app/workspace/page-e656bb9bc0f3fd3d.js +1 -0
  64. package/dist/web/_next/static/chunks/app/workspace/pair/page-e656bb9bc0f3fd3d.js +1 -0
  65. package/dist/web/_next/static/chunks/app/workspace/remote/page-e656bb9bc0f3fd3d.js +1 -0
  66. package/dist/web/_next/static/chunks/app/workspace/terminal/[sessionId]/page-e656bb9bc0f3fd3d.js +1 -0
  67. package/dist/web/_next/static/chunks/app/workspace/welcome/page-e656bb9bc0f3fd3d.js +1 -0
  68. package/dist/web/_next/static/chunks/app/workspace/workspaces/page-e656bb9bc0f3fd3d.js +1 -0
  69. package/dist/web/_next/static/chunks/next/dist/client/components/builtin/app-error-e656bb9bc0f3fd3d.js +1 -0
  70. package/dist/web/_next/static/chunks/next/dist/client/components/builtin/forbidden-e656bb9bc0f3fd3d.js +1 -0
  71. package/dist/web/_next/static/chunks/next/dist/client/components/builtin/not-found-e656bb9bc0f3fd3d.js +1 -0
  72. package/dist/web/_next/static/chunks/next/dist/client/components/builtin/unauthorized-e656bb9bc0f3fd3d.js +1 -0
  73. package/dist/web/_next/static/chunks/webpack-b56d3361b185b0cb.js +1 -0
  74. package/dist/web/_next/static/css/630ce3b502aeea55.css +1 -0
  75. package/dist/web/_next/static/css/{56adcd4d72bf2d84.css → adc0ee53b89bee3c.css} +1 -1
  76. package/dist/web/_next/static/nx78GyCTuW2V1ns5cZIT_/_buildManifest.js +1 -0
  77. package/dist/web/_not-found/__next._full.txt +19 -17
  78. package/dist/web/_not-found/__next._head.txt +1 -1
  79. package/dist/web/_not-found/__next._index.txt +8 -6
  80. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +1 -1
  81. package/dist/web/_not-found/__next._not-found.txt +1 -1
  82. package/dist/web/_not-found/__next._tree.txt +3 -2
  83. package/dist/web/_not-found.html +1 -1
  84. package/dist/web/_not-found.txt +19 -17
  85. package/dist/web/admin/__next._full.txt +23 -21
  86. package/dist/web/admin/__next._head.txt +1 -1
  87. package/dist/web/admin/__next._index.txt +8 -6
  88. package/dist/web/admin/__next._tree.txt +3 -2
  89. package/dist/web/admin/__next.admin.__PAGE__.txt +2 -2
  90. package/dist/web/admin/__next.admin.txt +1 -1
  91. package/dist/web/admin/access/__next._full.txt +29 -0
  92. package/dist/web/admin/{admins → access}/__next._head.txt +1 -1
  93. package/dist/web/admin/access/__next._index.txt +12 -0
  94. package/dist/web/admin/{admins → access}/__next._tree.txt +3 -2
  95. package/dist/web/admin/{admins/__next.admin.admins.__PAGE__.txt → access/__next.admin.access.__PAGE__.txt} +2 -2
  96. package/dist/web/admin/{admins/__next.admin.admins.txt → access/__next.admin.access.txt} +1 -1
  97. package/dist/web/admin/{admins → access}/__next.admin.txt +1 -1
  98. package/dist/web/admin/access.html +1 -0
  99. package/dist/web/admin/access.txt +29 -0
  100. package/dist/web/admin/login/__next._full.txt +23 -21
  101. package/dist/web/admin/login/__next._head.txt +1 -1
  102. package/dist/web/admin/login/__next._index.txt +8 -6
  103. package/dist/web/admin/login/__next._tree.txt +3 -2
  104. package/dist/web/admin/login/__next.admin.login.__PAGE__.txt +2 -2
  105. package/dist/web/admin/login/__next.admin.login.txt +1 -1
  106. package/dist/web/admin/login/__next.admin.txt +1 -1
  107. package/dist/web/admin/login.html +1 -1
  108. package/dist/web/admin/login.txt +23 -21
  109. package/dist/web/admin/ota/__next._full.txt +23 -21
  110. package/dist/web/admin/ota/__next._head.txt +1 -1
  111. package/dist/web/admin/ota/__next._index.txt +8 -6
  112. package/dist/web/admin/ota/__next._tree.txt +3 -2
  113. package/dist/web/admin/ota/__next.admin.ota.__PAGE__.txt +2 -2
  114. package/dist/web/admin/ota/__next.admin.ota.txt +1 -1
  115. package/dist/web/admin/ota/__next.admin.txt +1 -1
  116. package/dist/web/admin/ota.html +1 -1
  117. package/dist/web/admin/ota.txt +23 -21
  118. package/dist/web/admin/turn/__next._full.txt +23 -21
  119. package/dist/web/admin/turn/__next._head.txt +1 -1
  120. package/dist/web/admin/turn/__next._index.txt +8 -6
  121. package/dist/web/admin/turn/__next._tree.txt +3 -2
  122. package/dist/web/admin/turn/__next.admin.turn.__PAGE__.txt +2 -2
  123. package/dist/web/admin/turn/__next.admin.turn.txt +1 -1
  124. package/dist/web/admin/turn/__next.admin.txt +1 -1
  125. package/dist/web/admin/turn.html +1 -1
  126. package/dist/web/admin/turn.txt +23 -21
  127. package/dist/web/admin.html +1 -1
  128. package/dist/web/admin.txt +23 -21
  129. package/dist/web/dev/question/__next._full.txt +23 -21
  130. package/dist/web/dev/question/__next._head.txt +1 -1
  131. package/dist/web/dev/question/__next._index.txt +8 -6
  132. package/dist/web/dev/question/__next._tree.txt +3 -2
  133. package/dist/web/dev/question/__next.dev.question.__PAGE__.txt +2 -2
  134. package/dist/web/dev/question/__next.dev.question.txt +1 -1
  135. package/dist/web/dev/question/__next.dev.txt +1 -1
  136. package/dist/web/dev/question.html +1 -1
  137. package/dist/web/dev/question.txt +23 -21
  138. package/dist/web/download/__next._full.txt +26 -0
  139. package/dist/web/download/__next._head.txt +6 -0
  140. package/dist/web/download/__next._index.txt +12 -0
  141. package/dist/web/{admin/modes → download}/__next._tree.txt +3 -2
  142. package/dist/web/download/__next.download.__PAGE__.txt +6 -0
  143. package/dist/web/{admin/modes/__next.admin.modes.txt → download/__next.download.txt} +1 -1
  144. package/dist/web/download.html +1 -0
  145. package/dist/web/download.txt +26 -0
  146. package/dist/web/index.html +1 -1
  147. package/dist/web/index.txt +21 -19
  148. package/dist/web/login/__next._full.txt +23 -21
  149. package/dist/web/login/__next._head.txt +1 -1
  150. package/dist/web/login/__next._index.txt +8 -6
  151. package/dist/web/login/__next._tree.txt +3 -2
  152. package/dist/web/login/__next.login.__PAGE__.txt +2 -2
  153. package/dist/web/login/__next.login.txt +1 -1
  154. package/dist/web/login.html +1 -1
  155. package/dist/web/login.txt +23 -21
  156. package/dist/web/workspace/__next._full.txt +21 -19
  157. package/dist/web/workspace/__next._head.txt +1 -1
  158. package/dist/web/workspace/__next._index.txt +8 -6
  159. package/dist/web/workspace/__next._tree.txt +4 -3
  160. package/dist/web/workspace/__next.workspace.__PAGE__.txt +1 -1
  161. package/dist/web/workspace/__next.workspace.txt +3 -3
  162. package/dist/web/workspace/browse/__next._full.txt +23 -21
  163. package/dist/web/workspace/browse/__next._head.txt +1 -1
  164. package/dist/web/workspace/browse/__next._index.txt +8 -6
  165. package/dist/web/workspace/browse/__next._tree.txt +4 -3
  166. package/dist/web/workspace/browse/__next.workspace.browse.__PAGE__.txt +1 -1
  167. package/dist/web/workspace/browse/__next.workspace.browse.txt +1 -1
  168. package/dist/web/workspace/browse/__next.workspace.txt +3 -3
  169. package/dist/web/workspace/browse.html +1 -1
  170. package/dist/web/workspace/browse.txt +23 -21
  171. package/dist/web/workspace/editor/__next._full.txt +23 -21
  172. package/dist/web/workspace/editor/__next._head.txt +1 -1
  173. package/dist/web/workspace/editor/__next._index.txt +8 -6
  174. package/dist/web/workspace/editor/__next._tree.txt +4 -3
  175. package/dist/web/workspace/editor/__next.workspace.editor.__PAGE__.txt +1 -1
  176. package/dist/web/workspace/editor/__next.workspace.editor.txt +1 -1
  177. package/dist/web/workspace/editor/__next.workspace.txt +3 -3
  178. package/dist/web/workspace/editor.html +1 -1
  179. package/dist/web/workspace/editor.txt +23 -21
  180. package/dist/web/workspace/files/__next._full.txt +23 -21
  181. package/dist/web/workspace/files/__next._head.txt +1 -1
  182. package/dist/web/workspace/files/__next._index.txt +8 -6
  183. package/dist/web/workspace/files/__next._tree.txt +4 -3
  184. package/dist/web/workspace/files/__next.workspace.files.__PAGE__.txt +1 -1
  185. package/dist/web/workspace/files/__next.workspace.files.txt +1 -1
  186. package/dist/web/workspace/files/__next.workspace.txt +3 -3
  187. package/dist/web/workspace/files.html +1 -1
  188. package/dist/web/workspace/files.txt +23 -21
  189. package/dist/web/workspace/git/__next._full.txt +23 -21
  190. package/dist/web/workspace/git/__next._head.txt +1 -1
  191. package/dist/web/workspace/git/__next._index.txt +8 -6
  192. package/dist/web/workspace/git/__next._tree.txt +4 -3
  193. package/dist/web/workspace/git/__next.workspace.git.__PAGE__.txt +1 -1
  194. package/dist/web/workspace/git/__next.workspace.git.txt +1 -1
  195. package/dist/web/workspace/git/__next.workspace.txt +3 -3
  196. package/dist/web/workspace/git.html +1 -1
  197. package/dist/web/workspace/git.txt +23 -21
  198. package/dist/web/workspace/mobile/__next._full.txt +23 -21
  199. package/dist/web/workspace/mobile/__next._head.txt +1 -1
  200. package/dist/web/workspace/mobile/__next._index.txt +8 -6
  201. package/dist/web/workspace/mobile/__next._tree.txt +4 -3
  202. package/dist/web/workspace/mobile/__next.workspace.mobile.__PAGE__.txt +1 -1
  203. package/dist/web/workspace/mobile/__next.workspace.mobile.txt +1 -1
  204. package/dist/web/workspace/mobile/__next.workspace.txt +3 -3
  205. package/dist/web/workspace/mobile.html +1 -1
  206. package/dist/web/workspace/mobile.txt +23 -21
  207. package/dist/web/workspace/pair/__next._full.txt +29 -0
  208. package/dist/web/{admin/modes → workspace/pair}/__next._head.txt +1 -1
  209. package/dist/web/workspace/pair/__next._index.txt +12 -0
  210. package/dist/web/workspace/pair/__next._tree.txt +7 -0
  211. package/dist/web/workspace/pair/__next.workspace.pair.__PAGE__.txt +5 -0
  212. package/dist/web/{admin/modes/__next.admin.txt → workspace/pair/__next.workspace.pair.txt} +1 -1
  213. package/dist/web/workspace/pair/__next.workspace.txt +8 -0
  214. package/dist/web/workspace/pair.html +1 -0
  215. package/dist/web/workspace/pair.txt +29 -0
  216. package/dist/web/workspace/remote/__next._full.txt +23 -21
  217. package/dist/web/workspace/remote/__next._head.txt +1 -1
  218. package/dist/web/workspace/remote/__next._index.txt +8 -6
  219. package/dist/web/workspace/remote/__next._tree.txt +4 -3
  220. package/dist/web/workspace/remote/__next.workspace.remote.__PAGE__.txt +1 -1
  221. package/dist/web/workspace/remote/__next.workspace.remote.txt +1 -1
  222. package/dist/web/workspace/remote/__next.workspace.txt +3 -3
  223. package/dist/web/workspace/remote.html +1 -1
  224. package/dist/web/workspace/remote.txt +23 -21
  225. package/dist/web/workspace/terminal/default/__next._full.txt +25 -21
  226. package/dist/web/workspace/terminal/default/__next._head.txt +1 -1
  227. package/dist/web/workspace/terminal/default/__next._index.txt +8 -6
  228. package/dist/web/workspace/terminal/default/__next._tree.txt +4 -3
  229. package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.__PAGE__.txt +1 -1
  230. package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.txt +1 -1
  231. package/dist/web/workspace/terminal/default/__next.workspace.terminal.txt +1 -1
  232. package/dist/web/workspace/terminal/default/__next.workspace.txt +3 -3
  233. package/dist/web/workspace/terminal/default.html +1 -1
  234. package/dist/web/workspace/terminal/default.txt +25 -21
  235. package/dist/web/workspace/welcome/__next._full.txt +29 -0
  236. package/dist/web/workspace/welcome/__next._head.txt +6 -0
  237. package/dist/web/workspace/welcome/__next._index.txt +12 -0
  238. package/dist/web/workspace/welcome/__next._tree.txt +7 -0
  239. package/dist/web/workspace/welcome/__next.workspace.txt +8 -0
  240. package/dist/web/workspace/welcome/__next.workspace.welcome.__PAGE__.txt +5 -0
  241. package/dist/web/workspace/welcome/__next.workspace.welcome.txt +5 -0
  242. package/dist/web/workspace/welcome.html +1 -0
  243. package/dist/web/workspace/welcome.txt +29 -0
  244. package/dist/web/workspace/workspaces/__next._full.txt +23 -21
  245. package/dist/web/workspace/workspaces/__next._head.txt +1 -1
  246. package/dist/web/workspace/workspaces/__next._index.txt +8 -6
  247. package/dist/web/workspace/workspaces/__next._tree.txt +4 -3
  248. package/dist/web/workspace/workspaces/__next.workspace.txt +3 -3
  249. package/dist/web/workspace/workspaces/__next.workspace.workspaces.__PAGE__.txt +1 -1
  250. package/dist/web/workspace/workspaces/__next.workspace.workspaces.txt +1 -1
  251. package/dist/web/workspace/workspaces.html +1 -1
  252. package/dist/web/workspace/workspaces.txt +23 -21
  253. package/dist/web/workspace.html +1 -1
  254. package/dist/web/workspace.txt +21 -19
  255. package/package.json +3 -3
  256. package/dist/ui/assets/index-I2Ik1Uxe.js +0 -8
  257. package/dist/web/_next/static/chunks/1222.aa4f7f7f397533e9.js +0 -1
  258. package/dist/web/_next/static/chunks/1228.d291278320bca9ca.js +0 -1
  259. package/dist/web/_next/static/chunks/1243.f35c2e6494079e05.js +0 -1
  260. package/dist/web/_next/static/chunks/132.6032826021079bce.js +0 -1
  261. package/dist/web/_next/static/chunks/1750.2278b084cb33e817.js +0 -1
  262. package/dist/web/_next/static/chunks/2038.640b672702093b24.js +0 -1
  263. package/dist/web/_next/static/chunks/213.68ce1361aee3281a.js +0 -1
  264. package/dist/web/_next/static/chunks/2180.e6bad8186f52ff89.js +0 -1
  265. package/dist/web/_next/static/chunks/2849.f2bcad51c68e44b5.js +0 -1
  266. package/dist/web/_next/static/chunks/2881-71aed16f0b88cb34.js +0 -1
  267. package/dist/web/_next/static/chunks/3429.436b229808b33e81.js +0 -1
  268. package/dist/web/_next/static/chunks/3514.9643e815d690f2fb.js +0 -1
  269. package/dist/web/_next/static/chunks/4643.dbb152682d076617.js +0 -1
  270. package/dist/web/_next/static/chunks/4732-76a574510722b2c3.js +0 -11
  271. package/dist/web/_next/static/chunks/5788-f631bcbc039b4da2.js +0 -1
  272. package/dist/web/_next/static/chunks/6419.842467d9a877e770.js +0 -1
  273. package/dist/web/_next/static/chunks/6552-1ddf0600fddfd553.js +0 -1
  274. package/dist/web/_next/static/chunks/674.2b5ffad0676aedbe.js +0 -1
  275. package/dist/web/_next/static/chunks/6742.8e137138a5d1c9e1.js +0 -1
  276. package/dist/web/_next/static/chunks/7507.1204ae29f46e3f01.js +0 -1
  277. package/dist/web/_next/static/chunks/7960.3b1c77b882ba4bb1.js +0 -1
  278. package/dist/web/_next/static/chunks/8467.f34d938a32d40325.js +0 -1
  279. package/dist/web/_next/static/chunks/8638.03c6480d4aaeb5b3.js +0 -1
  280. package/dist/web/_next/static/chunks/925.7ef504ee39f11840.js +0 -1
  281. package/dist/web/_next/static/chunks/9259.f4337cbb56e2e0b6.js +0 -1
  282. package/dist/web/_next/static/chunks/9299.af2a95f6ece07482.js +0 -1
  283. package/dist/web/_next/static/chunks/9958-8030d12d1aa9659a.js +0 -1
  284. package/dist/web/_next/static/chunks/app/_global-error/page-1105b0cfd58cfb3c.js +0 -1
  285. package/dist/web/_next/static/chunks/app/admin/admins/page-306d339ee530b5f6.js +0 -1
  286. package/dist/web/_next/static/chunks/app/admin/login/page-691eef7459d86ee3.js +0 -1
  287. package/dist/web/_next/static/chunks/app/admin/modes/page-6e1277223ac77414.js +0 -1
  288. package/dist/web/_next/static/chunks/app/admin/ota/page-3a2b0ecbedd59e35.js +0 -1
  289. package/dist/web/_next/static/chunks/app/admin/page-1fca731dbc8d61d3.js +0 -1
  290. package/dist/web/_next/static/chunks/app/admin/turn/page-7df8fb088cf7ccda.js +0 -1
  291. package/dist/web/_next/static/chunks/app/dev/question/page-92c77506bb59e639.js +0 -1
  292. package/dist/web/_next/static/chunks/app/layout-ec53a1a0c4b3e99e.js +0 -1
  293. package/dist/web/_next/static/chunks/app/login/page-55e34ebc40a79798.js +0 -1
  294. package/dist/web/_next/static/chunks/app/page-f0bf05d73d9e99d4.js +0 -22
  295. package/dist/web/_next/static/chunks/app/workspace/browse/page-1105b0cfd58cfb3c.js +0 -1
  296. package/dist/web/_next/static/chunks/app/workspace/editor/page-1105b0cfd58cfb3c.js +0 -1
  297. package/dist/web/_next/static/chunks/app/workspace/files/page-1105b0cfd58cfb3c.js +0 -1
  298. package/dist/web/_next/static/chunks/app/workspace/git/page-1105b0cfd58cfb3c.js +0 -1
  299. package/dist/web/_next/static/chunks/app/workspace/layout-03eff77b255b25d6.js +0 -15
  300. package/dist/web/_next/static/chunks/app/workspace/mobile/page-1105b0cfd58cfb3c.js +0 -1
  301. package/dist/web/_next/static/chunks/app/workspace/page-1105b0cfd58cfb3c.js +0 -1
  302. package/dist/web/_next/static/chunks/app/workspace/remote/page-1105b0cfd58cfb3c.js +0 -1
  303. package/dist/web/_next/static/chunks/app/workspace/terminal/[sessionId]/page-1105b0cfd58cfb3c.js +0 -1
  304. package/dist/web/_next/static/chunks/app/workspace/workspaces/page-1105b0cfd58cfb3c.js +0 -1
  305. package/dist/web/_next/static/chunks/next/dist/client/components/builtin/app-error-1105b0cfd58cfb3c.js +0 -1
  306. package/dist/web/_next/static/chunks/next/dist/client/components/builtin/forbidden-1105b0cfd58cfb3c.js +0 -1
  307. package/dist/web/_next/static/chunks/next/dist/client/components/builtin/not-found-1105b0cfd58cfb3c.js +0 -1
  308. package/dist/web/_next/static/chunks/next/dist/client/components/builtin/unauthorized-1105b0cfd58cfb3c.js +0 -1
  309. package/dist/web/_next/static/chunks/webpack-6c9c0816af64073a.js +0 -1
  310. package/dist/web/_next/static/css/be666ba38225da3a.css +0 -1
  311. package/dist/web/_next/static/ojB5LsquXLz4Tz9PU1iGl/_buildManifest.js +0 -1
  312. package/dist/web/admin/admins/__next._full.txt +0 -27
  313. package/dist/web/admin/admins/__next._index.txt +0 -10
  314. package/dist/web/admin/admins.html +0 -1
  315. package/dist/web/admin/admins.txt +0 -27
  316. package/dist/web/admin/modes/__next._full.txt +0 -27
  317. package/dist/web/admin/modes/__next._index.txt +0 -10
  318. package/dist/web/admin/modes/__next.admin.modes.__PAGE__.txt +0 -9
  319. package/dist/web/admin/modes.html +0 -1
  320. package/dist/web/admin/modes.txt +0 -27
  321. package/dist/web/file.svg +0 -1
  322. package/dist/web/globe.svg +0 -1
  323. package/dist/web/next.svg +0 -1
  324. package/dist/web/vercel.svg +0 -1
  325. package/dist/web/window.svg +0 -1
  326. /package/dist/web/_next/static/{ojB5LsquXLz4Tz9PU1iGl → nx78GyCTuW2V1ns5cZIT_}/_ssgManifest.js +0 -0
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  const __importMetaUrl = require('url').pathToFileURL(__filename).href;
3
- var pe=Object.create;var W=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var de=Object.getOwnPropertyNames;var he=Object.getPrototypeOf,Se=Object.prototype.hasOwnProperty;var me=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of de(t))!Se.call(e,c)&&c!==r&&W(e,c,{get:()=>t[c],enumerable:!(s=fe(t,c))||s.enumerable});return e};var M=(e,t,r)=>(r=e!=null?pe(he(e)):{},me(t||!e||!e.__esModule?W(r,"default",{value:e,enumerable:!0}):r,e));var ce=M(require("net"),1),a=M(require("fs"),1),b=M(require("path"),1),N=M(require("os"),1),q=require("child_process"),ie=M(require("node-pty"),1);var H="71";function ge(){return`function prompt { $p = $PWD.Path -replace '\\\\','/'; "$([char]27)]7;file://$([System.Net.Dns]::GetHostName())$p$([char]27)\\PS $($PWD.Path)> " }`}function Y(e){return e.id==="powershell"||e.id==="pwsh"?[...e.args,"-NoExit","-Command",ge()]:e.args}var X={win32:[{id:"cmd",label:"Command Prompt",path:"cmd.exe",args:[]},{id:"powershell",label:"PowerShell",path:"powershell.exe",args:["-NoLogo"]},{id:"pwsh",label:"PowerShell Core",path:"pwsh.exe",args:["-NoLogo"]}],unix:[{id:"bash",label:"Bash",path:"/bin/bash",args:["-l"]},{id:"zsh",label:"Zsh",path:"/bin/zsh",args:["-l"]},{id:"sh",label:"Sh",path:"/bin/sh",args:["-l"]}]};function V(e){if(process.platform==="win32"){let s=e?X.win32.find(i=>i.id===e):null;if(s)return s;let c=process.env.COMSPEC;return c?{id:"cmd",label:"Command Prompt",path:c,args:[]}:X.win32[0]}let t=process.env.SHELL||"/bin/bash",r=t.split("/").pop();return{id:r,label:r,path:t,args:["-l"]}}var Ke=45*1024,We={CHUNK_BYTES:32*1024,HEAD_BYTES:512*1024,HEAD_LINES:60,TITLE_MAX:120,SCAN_FILE_CAP:200,SCAN_DEPTH:4,PER_AGENT_LIMIT:50,DEFAULT_LIMIT:100,CACHE_TTL_MS:30*1e3};var k={"terminal.ping":{reply:"pong",coalesce:null},"terminal.listSessions":{reply:"sessionList",coalesce:null},"terminal.createSession":{reply:"createResult",coalesce:null},"terminal.joinSession":{reply:"joinResult",coalesce:null},"terminal.requestHistory":{reply:"historyResult",coalesce:null},"terminal.input":{reply:null,coalesce:null},"terminal.resize":{reply:null,coalesce:"resize"},"terminal.deleteSession":{reply:"deleteResult",coalesce:null},"terminal.getCwd":{reply:"cwdResult",coalesce:null},"proc.start":{reply:"procStartResult",coalesce:null},"proc.attach":{reply:"procAttachResult",coalesce:null},"proc.lines":{reply:"procLinesResult",coalesce:null},"proc.write":{reply:"procWriteResult",coalesce:null},"proc.endInput":{reply:"procEndInputResult",coalesce:null},"proc.signal":{reply:"procSignalResult",coalesce:null},"proc.stop":{reply:"procStopResult",coalesce:null},"proc.list":{reply:"procListResult",coalesce:null},"kv.set":{reply:"kvSetResult",coalesce:null},"kv.get":{reply:"kvGetResult",coalesce:null},"kv.del":{reply:"kvDelResult",coalesce:null}},ye={ping:"terminal.ping",listSessions:"terminal.listSessions",createSession:"terminal.createSession",joinSession:"terminal.joinSession",requestHistory:"terminal.requestHistory",input:"terminal.input",resize:"terminal.resize",deleteSession:"terminal.deleteSession",getCwd:"terminal.getCwd",procStart:"proc.start",procAttach:"proc.attach",procLines:"proc.lines",procWrite:"proc.write",procSignal:"proc.signal",procStop:"proc.stop",procList:"proc.list",kvSet:"kv.set",kvGet:"kv.get",kvDel:"kv.del"};function J(e){return k[e]?e:ye[e]||null}var Ee=5e3,Q=Symbol("handler-timeout");function ee({deps:e={},send:t}={}){let r=new Map,s=new Map,c=[],i=!1,o=new Map,n=new Map;function h(p,u){for(let[T,y]of Object.entries(u)){let x=`${p}.${T}`;r.set(x,y),s.set(x,k[x]||{reply:null,coalesce:null})}}function f(){let p=Object.keys(k).filter(u=>!r.has(u));if(p.length)throw new Error(`Routes without a handler: ${p.join(", ")}`)}let l=p=>p.sessionId||p.procId||"";function S({client:p,message:u}){let T=u?.type,y=J(T)||T;if(!y||!r.has(y)){t(p,{type:"error",error:`Unknown route: ${T}`,requestId:u?.requestId});return}let x=s.get(y)||{reply:null,coalesce:null},B=`${y}:${u.sessionId??""}`,w=l(u);if(w&&o.has(w)){t(p,{type:x.reply||"error",success:!1,error:"Previous request on this session is still running",requestId:u.requestId});return}if(x?.coalesce){let _=n.get(B);if(_){_.message=u;return}let $={client:p,message:u,key:y,spec:x};n.set(B,$),c.push($)}else c.push({client:p,message:u,key:y,spec:x});d()}async function d(){if(!i){i=!0,await Promise.resolve();try{for(;c.length;){let p=c.shift();p.spec?.coalesce&&n.delete(`${p.key}:${p.message.sessionId??""}`),await E(p)}}finally{i=!1,c.length&&d()}}}async function E({client:p,message:u,key:T,spec:y}){let x=r.get(T),B=`${T}:${u.sessionId??""}`,w=I=>{if(!p)return;let P=!!I?.error;!y?.reply&&!P||t(p,{type:y?.reply||"error",...I,requestId:u.requestId})},_,$=new Promise(I=>{_=setTimeout(()=>I(Q),u.timeout||Ee),_.unref?.()}),K=Promise.resolve().then(()=>x(u,e,{client:p,answer:w}));try{let I=await Promise.race([K,$]);if(I===Q){let P=l(u);P&&(o.set(P,!0),K.catch(()=>{}).then(()=>o.delete(P))),w({success:!1,error:"Handler timeout"});return}w(I||{})}catch(I){w({success:!1,error:I?.message||String(I)})}finally{clearTimeout(_)}}return{register:h,assertComplete:f,enqueue:S}}function te(e=500){let t=new Map;return{set(r,s){return typeof r!="string"||!r?!1:(t.delete(r),t.set(r,structuredClone(s??null)),t.size>e&&t.delete(t.keys().next().value),!0)},get(r){return t.has(r)?structuredClone(t.get(r)):null},del(r){return t.delete(r)},get size(){return t.size}}}var re={set:(e,t)=>({success:t.kv.set(e.key,e.value)}),get:(e,t)=>({success:!0,value:t.kv.get(e.key)}),del:(e,t)=>({success:t.kv.del(e.key)})};function C(e){return e?.length?e.reduce((t,r)=>t+r.length,0):0}function F(e,t){if(!e?.length||t<=0)return Buffer.alloc(0);let r=t,s=[];for(let i=e.length-1;i>=0&&r>0;i--){let o=e[i];o.length<=r?(s.push(o),r-=o.length):(s.push(o.subarray(o.length-r)),r=0)}s.reverse();let c=Buffer.concat(s);if(c.length>1&&c[0]!==27){let i=Math.min(c.length,512);for(let o=1;o<i;o++)if(c[o]===27)return c.subarray(o)}return c}function xe(e,t,r=512){if(t<=0||!e?.length)return t;let s=0;for(let o of e)s+=o.length;let c=s,i=r;for(let o=e.length-1;o>=0&&i>0;o--){let n=e[o];if(n.length===0){c-=0;continue}let h=c-n.length;if(h>=t){c=h;continue}let f=Math.min(n.length,t-h);for(let l=f-1;l>=0&&i>0;l--){if(n[l]===27)return h+l;i--}c=h}return t}function se(e,t,r){if(!e?.length||r<=0)return{prefix:Buffer.alloc(0),trimmed:0,extra:0};let s=C(e),c=s-Math.max(0,Math.min(t,s)),i=c-r;if(i<0&&(r+=i,i=0),r<=0)return{prefix:Buffer.alloc(0),trimmed:0,extra:0};let o=0;if(i>0){let f=xe(e,i);f<i&&(o=i-f,i=f,r+=o)}let n=0,h=[];for(let f=0;f<e.length&&r>0;f++){let l=e[f],S=n+l.length;if(S<=i){n=S;continue}if(n>=c)break;let d=Math.max(0,i-n),E=Math.min(r,l.length-d);h.push(l.subarray(d,d+E)),r-=E,n=S}return{prefix:Buffer.concat(h),trimmed:0,extra:o}}var L=process.env.NREMOTE_HOME||b.default.join(N.default.homedir(),".9remote"),O=process.platform==="win32"?"\\\\.\\pipe\\9remote-pty":b.default.join(L,"pty-daemon.sock"),U=b.default.join(L,"pids","ptyDaemon.pid"),m=new Map,z=new Set,ne=2*1024*1024,Ie=256*1024,be=256*1024,Te=5*1024*1024,Re=["1049","1047","1000","1002","1003","1006","1015","1005"],we=/\x1b\[\?([0-9;]+)([hl])/g;function ve(e,t){typeof t!="string"&&(t=String(t));for(let r of t.matchAll(we)){let s=r[2]==="h";for(let c of r[1].split(";"))e[s?"add":"delete"](`?${c}`)}}function _e(e){let t=Re.filter(r=>e.has(`?${r}`));return t.length?`\x1B[?${t.join(";")}h`:""}var j=b.default.join(L,"logs"),A=b.default.join(j,"daemon.log");try{a.default.existsSync(j)||a.default.mkdirSync(j,{recursive:!0})}catch{}function Oe(){try{if(a.default.existsSync(A)&&a.default.statSync(A).size>Te){let r=a.default.readFileSync(A,"utf8").slice(-1024*1024);a.default.writeFileSync(A,r)}}catch{}}function v(e,t=null){Oe();let s=`[${new Date().toISOString()}] ERROR: ${e}`;t&&(s+=` - ${t.message||t}`),s+=`
4
- `;try{a.default.appendFileSync(A,s)}catch{}console.error(s.trim())}function le(){return process.env.CODESPACES==="true"?process.env.CODESPACE_VSCODE_FOLDER||"/workspaces":process.env.HOME||process.env.USERPROFILE||N.default.homedir()}function Pe(e){let t={...process.env,TERM:"xterm-256color",COLORTERM:"truecolor",LANG:process.env.LANG||"en_US.UTF-8"};delete t.PORT,delete t.NODE_ENV;let r=e.includes("zsh"),s=e.includes("bash"),c=null;if(r){c=a.default.mkdtempSync(b.default.join(N.default.tmpdir(),"9remote-zsh-"));let i=b.default.join(c,".zshrc"),o=t.HOME||N.default.homedir(),n="";n+=`[ -f "${o}/.zprofile" ] && source "${o}/.zprofile"
5
- `,n+=`[ -f "${o}/.zshrc" ] && source "${o}/.zshrc"
6
- `,n+=`[ -f "${o}/.zlogin" ] && source "${o}/.zlogin"
7
- `,n+='NineRemoteOsc7() { print -Pn "\\e]7;file://%m${PWD}\\e\\\\" }\n',n+=`precmd_functions+=( NineRemoteOsc7 )
8
- `,a.default.writeFileSync(i,n),t.ZDOTDIR=c}else if(s){let i=t.PROMPT_COMMAND||"";t.PROMPT_COMMAND=`printf "\\e]7;file://%s\\a" "\${HOSTNAME}\${PWD}"${i?`; ${i}`:""}`}return/cmd\.exe$/i.test(e)&&(t.PROMPT=`$E]7;file://${process.env.COMPUTERNAME||""}/$P$E\\$G$S`),{env:t,zdotDir:c}}function R(e){let t=JSON.stringify(e)+`
9
- `;for(let r of z)try{r.write(t)}catch{}}function oe(e,t){try{e.write(JSON.stringify(t)+`
10
- `)}catch{}}var g=new Map,Me=0,Ce=512*1024,Ae=256*1024,Ne=3e3;function ue(e,t=0){let r=typeof t=="object"&&t!==null?t.from??0:Number(t)||0,s=[];for(let c of e.lines)c.n>r&&s.push({n:c.n,enc:"b64",data:c.data.toString("base64")});return s}function Le(e,{bin:t,args:r=[],cwd:s,env:c}={}){if(!e)return{success:!1,error:"Missing procId"};if(!t)return{success:!1,error:"Missing bin"};let i=g.get(e);if(i&&!i.exited)return{success:!1,error:"Process already running"};let o=(0,q.spawn)(t,r,{cwd:s&&a.default.existsSync(s)?s:le(),stdio:["pipe","pipe","pipe"],env:{...process.env,...c||{}},detached:process.platform!=="win32"}),n={id:e,epoch:++Me,child:o,cwd:s,lines:[],lineCount:0,bytes:0,exited:!1,exitCode:null,tail:""};g.set(e,n);let h=l=>{let S=Buffer.from(l,"utf8");for(n.lineCount++,n.lines.push({n:n.lineCount,data:S}),n.bytes+=S.length;n.bytes>Ce&&n.lines.length>1;)n.bytes-=n.lines[0].data.length,n.lines.shift();R({type:"procLine",procId:e,epoch:n.epoch,n:n.lineCount,enc:"b64",data:S.toString("base64")})},f=l=>{l.on("data",S=>{if(n.tail+=S.toString("utf8"),n.tail.length>Ae){h(n.tail),n.tail="";return}let d=n.tail.split(`
11
- `);n.tail=d.pop()||"";for(let E of d)h(E)})};return f(o.stdout),f(o.stderr),o.on("error",l=>{n.exited=!0,R({type:"procExit",procId:e,epoch:n.epoch,code:null,error:l.message})}),o.on("close",(l,S)=>{n.tail&&(h(n.tail),n.tail=""),n.exited=!0,n.exitCode=l,n.child=null,R({type:"procExit",procId:e,epoch:n.epoch,code:l,signal:S||null})}),{success:!0,procId:e,epoch:n.epoch,pid:o.pid}}function De(e,t=0){typeof t=="object"&&t!==null&&(t=t.from??0),t=Number(t)||0;let r=g.get(e);return r?{success:!0,alive:!r.exited,epoch:r.epoch,lines:ue(r,t),total:r.lineCount,oldest:r.lines[0]?.n??r.lineCount+1,exitCode:r.exitCode}:{success:!1,error:"Process not found"}}function $e(e,t,r="b64"){let s=g.get(e);return s?.child?.stdin?.writable?(s.child.stdin.write(r==="b64"?Buffer.from(t,"base64"):t),{success:!0}):{success:!1,error:"Process not writable"}}function ke(e){let t=g.get(e);if(!t?.child?.stdin?.writable)return{success:!1,error:"Process not writable"};try{t.child.stdin.end()}catch(r){return{success:!1,error:r.message}}return{success:!0}}function ze(e,t="SIGINT"){let r=g.get(e);if(!r?.child)return{success:!1,error:"Process not running"};try{r.child.kill(t)}catch(s){return{success:!1,error:s.message}}return{success:!0}}function G(e,t){if(e?.pid)try{process.platform==="win32"?(0,q.spawn)("taskkill",["/pid",String(e.pid),"/T","/F"]).on("error",()=>{}):process.kill(-e.pid,t)}catch{}}function Be(e){let t=g.get(e);if(!t)return{success:!1,error:"Process not found"};let r=t.child;return r&&(G(r,"SIGINT"),setTimeout(()=>G(r,"SIGKILL"),Ne).unref?.()),g.delete(e),{success:!0}}function He(e,t,r=80,s=24,c=null,i=null){if(m.has(e))return{success:!1,error:"Session already exists"};let o=V(c);(!i||!a.default.existsSync(i))&&(i=le());try{let{env:n,zdotDir:h}=Pe(o.path);n.NINE_REMOTE_SESSION_ID=e;let f=ie.default.spawn(o.path,Y(o),{name:"xterm-256color",cols:r,rows:s,cwd:i,env:n,useConpty:process.platform==="win32"}),l={pty:f,buffer:[],modes:new Set,name:t,createdAt:Date.now(),cwd:i,shellId:o.id,shellLabel:o.label,zdotDir:h,pending:null,flushScheduled:!1,procTimer:null,foregroundProcess:Z({pty:f})||o.id},S=()=>{l.flushScheduled=!1;let d=l.pending;d&&(l.pending=null,R({type:"output",sessionId:e,enc:"b64",data:Buffer.from(d).toString("base64")}))};return f.onData(d=>{l.buffer.push(Buffer.from(d,"utf-8")),ve(l.modes,d);let E=d.match(/\x1b\]7;file:\/\/[^/]*([^\x07\x1b]*)/);if(E){let u;try{u=decodeURIComponent(E[1])}catch{u=E[1]}process.platform==="win32"&&/^\/[a-zA-Z]:[\\/]/.test(u)&&(u=u.slice(1)),u&&u!==l.cwd&&(l.cwd=u,R({type:"cwdChange",sessionId:e,cwd:u}))}C(l.buffer)>ne&&(l.buffer=[F(l.buffer,ne)]),l.pending=l.pending===null?d:l.pending+d,l.flushScheduled||(l.flushScheduled=!0,setImmediate(S)),l.procTimer&&clearTimeout(l.procTimer),l.procTimer=setTimeout(()=>{l.procTimer=null,ae(l,e)},250)}),f.onExit(()=>{l.procTimer&&clearTimeout(l.procTimer),m.delete(e),l.zdotDir&&a.default.rm(l.zdotDir,{recursive:!0,force:!0},()=>{}),R({type:"sessionClosed",sessionId:e})}),m.set(e,l),{success:!0,sessionId:e,cwd:i,shellId:o.id,shellLabel:o.label}}catch(n){return v("Failed to create session",n),{success:!1,error:n.message}}}function Z(e){if(!e?.pty)return null;try{let t=e.pty.process;return t?b.default.basename(t):null}catch{return null}}function ae(e,t){if(!e?.pty)return;let r=Z(e);if(r&&r!==e.foregroundProcess){let s=e.foregroundProcess;e.foregroundProcess=r,s!==null&&R({type:"processChange",sessionId:t,process:r,prevProcess:s})}}var Fe=te(500),D=ee({deps:{sessions:m,procs:g,send:oe,broadcast:R,DAEMON_VERSION:H,kv:Fe},send:oe}),Ue={ping:()=>({version:H}),listSessions:()=>({sessions:Array.from(m.entries()).map(([e,t])=>({id:e,name:t.name,createdAt:t.createdAt,shellId:t.shellId,shellLabel:t.shellLabel,cwd:t.cwd,foregroundProcess:t.foregroundProcess||Z(t)}))}),createSession:e=>He(e.sessionId||`session-${Date.now()}`,e.name,e.cols,e.rows,e.shellId,e.cwd),joinSession:(e,{send:t})=>{let r=m.get(e.sessionId);if(!r)return{success:!1,error:"Session not found"};let s=e.client,c=_e(r.modes);c&&t(s,{type:"output",sessionId:e.sessionId,enc:"b64",replay:!0,data:Buffer.from(c).toString("base64")});let i=F(r.buffer,Ie);return i&&i.length&&t(s,{type:"output",sessionId:e.sessionId,enc:"b64",replay:!0,data:i.toString("base64")}),{success:!0,name:r.name,cwd:r.cwd,shellId:r.shellId,shellLabel:r.shellLabel,total:C(r.buffer),replaySize:i?i.length:0}},requestHistory:e=>{let t=m.get(e.sessionId);if(!t)return{success:!1,error:"Session not found"};let r=C(t.buffer),s=Math.max(0,Math.min(e.have||0,r)),c=r-s,i=Math.min(be,c),{prefix:o,extra:n=0}=i>0?se(t.buffer,s,i):{prefix:Buffer.alloc(0),extra:0};return{success:!0,sessionId:e.sessionId,enc:"b64",prefix:o&&o.length?o.toString("base64"):"",prefixLen:o?o.length:0,total:r,remaining:Math.max(0,c-i)}},input:e=>{let t=m.get(e.sessionId);return t?.pty?(t.pty.write(e.data),t.procTimer&&clearTimeout(t.procTimer),t.procTimer=setTimeout(()=>{t.procTimer=null,ae(t,e.sessionId)},300),{}):{}},resize:e=>{let t=m.get(e.sessionId);if(!t?.pty)return{};try{t.pty.resize(e.cols,e.rows)}catch{}return{}},deleteSession:(e,{broadcast:t})=>{let r=m.get(e.sessionId);return r?(r.pty&&r.pty.kill(),m.delete(e.sessionId),t({type:"sessionClosed",sessionId:e.sessionId}),{success:!0}):{success:!1,error:"Session not found"}},getCwd:e=>({cwd:m.get(e.sessionId)?.cwd||null})},je={start:e=>Le(e.procId,e),attach:e=>De(e.procId,e.from),lines:e=>{let t=g.get(e.procId);return t?{success:!0,epoch:t.epoch,lines:ue(t,e.from||0),total:t.lineCount,oldest:t.lines[0]?.n??t.lineCount+1}:{success:!1,error:"Process not found"}},write:e=>$e(e.procId,e.data,e.enc),endInput:e=>ke(e.procId),signal:e=>ze(e.procId,e.signal),stop:e=>Be(e.procId),list:()=>({success:!0,procs:Array.from(g.values()).map(e=>({procId:e.id,alive:!e.exited,total:e.lineCount,cwd:e.cwd}))})};D.register("terminal",Ue);D.register("proc",je);D.register("kv",re);D.assertComplete();function Ge(e,t){D.enqueue({client:e,message:{...t,client:e}})}function qe(){if(!a.default.existsSync(L))try{a.default.mkdirSync(L,{recursive:!0})}catch(r){v("Failed to create socket directory",r),process.exit(1)}if(process.platform!=="win32"&&a.default.existsSync(O))try{a.default.unlinkSync(O)}catch(r){v("Failed to remove stale socket",r),process.exit(1)}let e=ce.default.createServer(r=>{z.add(r);let s="";r.on("data",c=>{s+=c.toString();let i=s.split(`
12
- `);s=i.pop()||"";for(let o of i)if(o.trim())try{let n=JSON.parse(o);Ge(r,n)}catch{v("Invalid message",o)}}),r.on("close",()=>{z.delete(r)}),r.on("error",c=>{v("Client error",c),z.delete(r)})});e.on("error",r=>{v("Server error",r),r.code==="EADDRINUSE"&&v("Socket already in use, exiting"),process.exit(1)}),e.listen(O,()=>{if(process.platform!=="win32")try{a.default.chmodSync(O,384)}catch{}});try{a.default.mkdirSync(b.default.dirname(U),{recursive:!0}),a.default.writeFileSync(U,String(process.pid),{mode:384})}catch{}let t=()=>{for(let[,r]of m)if(r.procTimer&&clearTimeout(r.procTimer),r.pty)try{r.pty.kill()}catch{}for(let[,r]of g)G(r.child,"SIGINT");try{e.close()}catch{}if(process.platform!=="win32"&&a.default.existsSync(O))try{a.default.unlinkSync(O)}catch{}try{a.default.unlinkSync(U)}catch{}process.exit(0)};process.on("SIGTERM",t),process.on("SIGINT",t)}qe();
3
+ var pe=Object.create;var K=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var de=Object.getOwnPropertyNames;var he=Object.getPrototypeOf,Se=Object.prototype.hasOwnProperty;var me=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of de(t))!Se.call(e,c)&&c!==r&&K(e,c,{get:()=>t[c],enumerable:!(n=fe(t,c))||n.enumerable});return e};var M=(e,t,r)=>(r=e!=null?pe(he(e)):{},me(t||!e||!e.__esModule?K(r,"default",{value:e,enumerable:!0}):r,e));var ce=M(require("net"),1),u=M(require("fs"),1),R=M(require("path"),1),N=M(require("os"),1),q=require("child_process"),ie=M(require("node-pty"),1);var B="72";function ge(){return`function prompt { $p = $PWD.Path -replace '\\\\','/'; "$([char]27)]7;file://$([System.Net.Dns]::GetHostName())$p$([char]27)\\PS $($PWD.Path)> " }`}function Y(e){return e.id==="powershell"||e.id==="pwsh"?[...e.args,"-NoExit","-Command",ge()]:e.args}var W={win32:[{id:"cmd",label:"Command Prompt",path:"cmd.exe",args:[]},{id:"powershell",label:"PowerShell",path:"powershell.exe",args:["-NoLogo"]},{id:"pwsh",label:"PowerShell Core",path:"pwsh.exe",args:["-NoLogo"]}],unix:[{id:"bash",label:"Bash",path:"/bin/bash",args:["-l"]},{id:"zsh",label:"Zsh",path:"/bin/zsh",args:["-l"]},{id:"sh",label:"Sh",path:"/bin/sh",args:["-l"]}]};function V(e){if(process.platform==="win32"){let n=e?W.win32.find(i=>i.id===e):null;if(n)return n;let c=process.env.COMSPEC;return c?{id:"cmd",label:"Command Prompt",path:c,args:[]}:W.win32[0]}let t=process.env.SHELL||"/bin/bash",r=t.split("/").pop();return{id:r,label:r,path:t,args:["-l"]}}var Ke=45*1024,We={CHUNK_BYTES:32*1024,HEAD_BYTES:512*1024,HEAD_LINES:60,TITLE_MAX:120,SCAN_FILE_CAP:200,SCAN_DEPTH:4,PER_AGENT_LIMIT:50,DEFAULT_LIMIT:100,CACHE_TTL_MS:30*1e3,SEARCH_MIN_CHARS:2,SEARCH_QUERY_MAX:200,SEARCH_LIMIT:50,SEARCH_SNIPPET_MAX:200,SEARCH_SNIPPET_PAD:120,SEARCH_TOTAL_BYTES:64*1024*1024,SEARCH_FILE_BYTES:32*1024*1024,SEARCH_TIME_BUDGET_MS:700};var k={"terminal.ping":{reply:"pong",coalesce:null},"terminal.listSessions":{reply:"sessionList",coalesce:null},"terminal.createSession":{reply:"createResult",coalesce:null},"terminal.joinSession":{reply:"joinResult",coalesce:null},"terminal.requestHistory":{reply:"historyResult",coalesce:null},"terminal.input":{reply:null,coalesce:null},"terminal.resize":{reply:null,coalesce:"resize"},"terminal.deleteSession":{reply:"deleteResult",coalesce:null},"terminal.getCwd":{reply:"cwdResult",coalesce:null},"proc.start":{reply:"procStartResult",coalesce:null},"proc.attach":{reply:"procAttachResult",coalesce:null},"proc.lines":{reply:"procLinesResult",coalesce:null},"proc.write":{reply:"procWriteResult",coalesce:null},"proc.endInput":{reply:"procEndInputResult",coalesce:null},"proc.signal":{reply:"procSignalResult",coalesce:null},"proc.stop":{reply:"procStopResult",coalesce:null},"proc.list":{reply:"procListResult",coalesce:null},"kv.set":{reply:"kvSetResult",coalesce:null},"kv.get":{reply:"kvGetResult",coalesce:null},"kv.del":{reply:"kvDelResult",coalesce:null}},ye={ping:"terminal.ping",listSessions:"terminal.listSessions",createSession:"terminal.createSession",joinSession:"terminal.joinSession",requestHistory:"terminal.requestHistory",input:"terminal.input",resize:"terminal.resize",deleteSession:"terminal.deleteSession",getCwd:"terminal.getCwd",procStart:"proc.start",procAttach:"proc.attach",procLines:"proc.lines",procWrite:"proc.write",procSignal:"proc.signal",procStop:"proc.stop",procList:"proc.list",kvSet:"kv.set",kvGet:"kv.get",kvDel:"kv.del"};function J(e){return k[e]?e:ye[e]||null}var Ee=5e3,Q=Symbol("handler-timeout");function ee({deps:e={},send:t}={}){let r=new Map,n=new Map,c=[],i=!1,o=new Map,s=new Map;function h(p,a){for(let[T,y]of Object.entries(a)){let I=`${p}.${T}`;r.set(I,y),n.set(I,k[I]||{reply:null,coalesce:null})}}function f(){let p=Object.keys(k).filter(a=>!r.has(a));if(p.length)throw new Error(`Routes without a handler: ${p.join(", ")}`)}let l=p=>p.sessionId||p.procId||"";function S({client:p,message:a}){let T=a?.type,y=J(T)||T;if(!y||!r.has(y)){t(p,{type:"error",error:`Unknown route: ${T}`,requestId:a?.requestId});return}let I=n.get(y)||{reply:null,coalesce:null},z=`${y}:${a.sessionId??""}`,b=l(a);if(b&&o.has(b)){t(p,{type:I.reply||"error",success:!1,error:"Previous request on this session is still running",requestId:a.requestId});return}if(I?.coalesce){let v=s.get(z);if(v){v.message=a;return}let $={client:p,message:a,key:y,spec:I};s.set(z,$),c.push($)}else c.push({client:p,message:a,key:y,spec:I});d()}async function d(){if(!i){i=!0,await Promise.resolve();try{for(;c.length;){let p=c.shift();p.spec?.coalesce&&s.delete(`${p.key}:${p.message.sessionId??""}`),await E(p)}}finally{i=!1,c.length&&d()}}}async function E({client:p,message:a,key:T,spec:y}){let I=r.get(T),z=`${T}:${a.sessionId??""}`,b=x=>{if(!p)return;let C=!!x?.error;!y?.reply&&!C||t(p,{type:y?.reply||"error",...x,requestId:a.requestId})},v,$=new Promise(x=>{v=setTimeout(()=>x(Q),a.timeout||Ee),v.unref?.()}),X=Promise.resolve().then(()=>I(a,e,{client:p,answer:b}));try{let x=await Promise.race([X,$]);if(x===Q){let C=l(a);C&&(o.set(C,!0),X.catch(()=>{}).then(()=>o.delete(C))),b({success:!1,error:"Handler timeout"});return}b(x||{})}catch(x){b({success:!1,error:x?.message||String(x)})}finally{clearTimeout(v)}}return{register:h,assertComplete:f,enqueue:S}}function te(e=500){let t=new Map;return{set(r,n){return typeof r!="string"||!r?!1:(t.delete(r),t.set(r,structuredClone(n??null)),t.size>e&&t.delete(t.keys().next().value),!0)},get(r){return t.has(r)?structuredClone(t.get(r)):null},del(r){return t.delete(r)},get size(){return t.size}}}var re={set:(e,t)=>({success:t.kv.set(e.key,e.value)}),get:(e,t)=>({success:!0,value:t.kv.get(e.key)}),del:(e,t)=>({success:t.kv.del(e.key)})};function O(e){return e?.length?e.reduce((t,r)=>t+r.length,0):0}function U(e,t){if(!e?.length||t<=0)return Buffer.alloc(0);let r=t,n=[];for(let i=e.length-1;i>=0&&r>0;i--){let o=e[i];o.length<=r?(n.push(o),r-=o.length):(n.push(o.subarray(o.length-r)),r=0)}n.reverse();let c=Buffer.concat(n);if(c.length>1&&c[0]!==27){let i=Math.min(c.length,512);for(let o=1;o<i;o++)if(c[o]===27)return c.subarray(o)}return c}function Ie(e,t,r=512){if(t<=0||!e?.length)return t;let n=0;for(let o of e)n+=o.length;let c=n,i=r;for(let o=e.length-1;o>=0&&i>0;o--){let s=e[o];if(s.length===0){c-=0;continue}let h=c-s.length;if(h>=t){c=h;continue}let f=Math.min(s.length,t-h);for(let l=f-1;l>=0&&i>0;l--){if(s[l]===27)return h+l;i--}c=h}return t}function se(e,t,r){if(!e?.length||r<=0)return{prefix:Buffer.alloc(0),trimmed:0,extra:0};let n=O(e),c=n-Math.max(0,Math.min(t,n)),i=c-r;if(i<0&&(r+=i,i=0),r<=0)return{prefix:Buffer.alloc(0),trimmed:0,extra:0};let o=0;if(i>0){let f=Ie(e,i);f<i&&(o=i-f,i=f,r+=o)}let s=0,h=[];for(let f=0;f<e.length&&r>0;f++){let l=e[f],S=s+l.length;if(S<=i){s=S;continue}if(s>=c)break;let d=Math.max(0,i-s),E=Math.min(r,l.length-d);h.push(l.subarray(d,d+E)),r-=E,s=S}return{prefix:Buffer.concat(h),trimmed:0,extra:o}}var D=process.env.NREMOTE_HOME||R.default.join(N.default.homedir(),".9remote"),P=process.platform==="win32"?"\\\\.\\pipe\\9remote-pty":R.default.join(D,"pty-daemon.sock"),F=R.default.join(D,"pids","ptyDaemon.pid"),g=new Map,H=new Set,ne=2*1024*1024,xe=256*1024,Re=256*1024,Te=5*1024*1024,_e=["1049","1047","1000","1002","1003","1006","1015","1005"],be=/\x1b\[\?([0-9;]+)([hl])/g;function we(e,t){typeof t!="string"&&(t=String(t));for(let r of t.matchAll(be)){let n=r[2]==="h";for(let c of r[1].split(";"))e[n?"add":"delete"](`?${c}`)}}function ve(e){let t=_e.filter(r=>e.has(`?${r}`));return t.length?`\x1B[?${t.join(";")}h`:""}var j=R.default.join(D,"logs"),A=R.default.join(j,"daemon.log");try{u.default.existsSync(j)||u.default.mkdirSync(j,{recursive:!0})}catch{}function Pe(){try{if(u.default.existsSync(A)&&u.default.statSync(A).size>Te){let r=u.default.readFileSync(A,"utf8").slice(-1024*1024);u.default.writeFileSync(A,r)}}catch{}}function w(e,t=null){Pe();let n=`[${new Date().toISOString()}] ERROR: ${e}`;t&&(n+=` - ${t.message||t}`),n+=`
4
+ `;try{u.default.appendFileSync(A,n)}catch{}console.error(n.trim())}function le(){return process.env.CODESPACES==="true"?process.env.CODESPACE_VSCODE_FOLDER||"/workspaces":process.env.HOME||process.env.USERPROFILE||N.default.homedir()}function Ce(e){let t={...process.env,TERM:"xterm-256color",COLORTERM:"truecolor",LANG:process.env.LANG||"en_US.UTF-8"};delete t.PORT,delete t.NODE_ENV;let r=e.includes("zsh"),n=e.includes("bash"),c=null;if(r){c=u.default.mkdtempSync(R.default.join(N.default.tmpdir(),"9remote-zsh-"));let i=R.default.join(c,".zshrc"),o=t.HOME||N.default.homedir(),s="";s+=`[ -f "${o}/.zprofile" ] && source "${o}/.zprofile"
5
+ `,s+=`[ -f "${o}/.zshrc" ] && source "${o}/.zshrc"
6
+ `,s+=`[ -f "${o}/.zlogin" ] && source "${o}/.zlogin"
7
+ `,s+='NineRemoteOsc7() { print -Pn "\\e]7;file://%m${PWD}\\e\\\\" }\n',s+=`precmd_functions+=( NineRemoteOsc7 )
8
+ `,u.default.writeFileSync(i,s),t.ZDOTDIR=c}else if(n){let i=t.PROMPT_COMMAND||"";t.PROMPT_COMMAND=`printf "\\e]7;file://%s\\a" "\${HOSTNAME}\${PWD}"${i?`; ${i}`:""}`}return/cmd\.exe$/i.test(e)&&(t.PROMPT=`$E]7;file://${process.env.COMPUTERNAME||""}/$P$E\\$G$S`),{env:t,zdotDir:c}}function _(e){let t=JSON.stringify(e)+`
9
+ `;for(let r of H)try{r.write(t)}catch{}}function oe(e,t){try{e.write(JSON.stringify(t)+`
10
+ `)}catch{}}var m=new Map,Me=0,Oe=512*1024,Ae=256*1024,Ne=3e3,De=3600*1e3;function ae(e,t=0){let r=typeof t=="object"&&t!==null?t.from??0:Number(t)||0,n=[];for(let c of e.lines)c.n>r&&n.push({n:c.n,enc:"b64",data:c.data.toString("base64")});return n}function Le(e,{bin:t,args:r=[],cwd:n,env:c}={}){if(!e)return{success:!1,error:"Missing procId"};if(!t)return{success:!1,error:"Missing bin"};let i=m.get(e);if(i&&!i.exited)return{success:!1,error:"Process already running"};let o=(0,q.spawn)(t,r,{cwd:n&&u.default.existsSync(n)?n:le(),stdio:["pipe","pipe","pipe"],env:{...process.env,...c||{}},detached:process.platform!=="win32"}),s={id:e,epoch:++Me,child:o,cwd:n,lines:[],lineCount:0,bytes:0,exited:!1,exitCode:null,tail:""};m.set(e,s);let h=l=>{let S=Buffer.from(l,"utf8");for(s.lineCount++,s.lines.push({n:s.lineCount,data:S}),s.bytes+=S.length;s.bytes>Oe&&s.lines.length>1;)s.bytes-=s.lines[0].data.length,s.lines.shift();_({type:"procLine",procId:e,epoch:s.epoch,n:s.lineCount,enc:"b64",data:S.toString("base64")})},f=l=>{l.on("data",S=>{if(s.tail+=S.toString("utf8"),s.tail.length>Ae){h(s.tail),s.tail="";return}let d=s.tail.split(`
11
+ `);s.tail=d.pop()||"";for(let E of d)h(E)})};return f(o.stdout),f(o.stderr),o.on("error",l=>{s.exited=!0,s.exitedAt=Date.now(),_({type:"procExit",procId:e,epoch:s.epoch,code:null,error:l.message})}),o.on("close",(l,S)=>{s.tail&&(h(s.tail),s.tail=""),s.exited=!0,s.exitedAt=Date.now(),s.exitCode=l,s.child=null,_({type:"procExit",procId:e,epoch:s.epoch,code:l,signal:S||null})}),{success:!0,procId:e,epoch:s.epoch,pid:o.pid}}function $e(e,t=0){typeof t=="object"&&t!==null&&(t=t.from??0),t=Number(t)||0;let r=m.get(e);return r?{success:!0,alive:!r.exited,epoch:r.epoch,lines:ae(r,t),total:r.lineCount,oldest:r.lines[0]?.n??r.lineCount+1,exitCode:r.exitCode}:{success:!1,error:"Process not found"}}function ke(e,t,r="b64"){let n=m.get(e);return n?.child?.stdin?.writable?(n.child.stdin.write(r==="b64"?Buffer.from(t,"base64"):t),{success:!0}):{success:!1,error:"Process not writable"}}function He(e){let t=m.get(e);if(!t?.child?.stdin?.writable)return{success:!1,error:"Process not writable"};try{t.child.stdin.end()}catch(r){return{success:!1,error:r.message}}return{success:!0}}function ze(e,t="SIGINT"){let r=m.get(e);if(!r?.child)return{success:!1,error:"Process not running"};try{r.child.kill(t)}catch(n){return{success:!1,error:n.message}}return{success:!0}}function G(e,t){if(e?.pid)try{process.platform==="win32"?(0,q.spawn)("taskkill",["/pid",String(e.pid),"/T","/F"]).on("error",()=>{}):process.kill(-e.pid,t)}catch{}}function Be(e){let t=m.get(e);if(!t)return{success:!1,error:"Process not found"};let r=t.child;return r&&(G(r,"SIGINT"),setTimeout(()=>G(r,"SIGKILL"),Ne).unref?.()),m.delete(e),{success:!0}}setInterval(()=>{let e=Date.now();for(let[t,r]of m)r.exited&&r.exitedAt&&e-r.exitedAt>=De&&m.delete(t)},600*1e3).unref?.();function Ue(e,t,r=80,n=24,c=null,i=null){if(g.has(e))return{success:!1,error:"Session already exists"};let o=V(c);(!i||!u.default.existsSync(i))&&(i=le());try{let{env:s,zdotDir:h}=Ce(o.path);s.NINE_REMOTE_SESSION_ID=e;let f=ie.default.spawn(o.path,Y(o),{name:"xterm-256color",cols:r,rows:n,cwd:i,env:s,useConpty:process.platform==="win32"}),l={pty:f,buffer:[],modes:new Set,name:t,createdAt:Date.now(),cwd:i,shellId:o.id,shellLabel:o.label,zdotDir:h,pending:null,flushScheduled:!1,procTimer:null,foregroundProcess:Z({pty:f})||o.id},S=()=>{l.flushScheduled=!1;let d=l.pending;d&&(l.pending=null,_({type:"output",sessionId:e,enc:"b64",data:Buffer.from(d).toString("base64")}))};return f.onData(d=>{l.buffer.push(Buffer.from(d,"utf-8")),we(l.modes,d);let E=d.match(/\x1b\]7;file:\/\/[^/]*([^\x07\x1b]*)/);if(E){let a;try{a=decodeURIComponent(E[1])}catch{a=E[1]}process.platform==="win32"&&/^\/[a-zA-Z]:[\\/]/.test(a)&&(a=a.slice(1)),a&&a!==l.cwd&&(l.cwd=a,_({type:"cwdChange",sessionId:e,cwd:a}))}O(l.buffer)>ne&&(l.buffer=[U(l.buffer,ne)]),l.pending=l.pending===null?d:l.pending+d,l.flushScheduled||(l.flushScheduled=!0,setImmediate(S)),l.procTimer&&clearTimeout(l.procTimer),l.procTimer=setTimeout(()=>{l.procTimer=null,ue(l,e)},250)}),f.onExit(()=>{l.procTimer&&clearTimeout(l.procTimer),g.delete(e),l.zdotDir&&u.default.rm(l.zdotDir,{recursive:!0,force:!0},()=>{}),_({type:"sessionClosed",sessionId:e})}),g.set(e,l),{success:!0,sessionId:e,cwd:i,shellId:o.id,shellLabel:o.label}}catch(s){return w("Failed to create session",s),{success:!1,error:s.message}}}function Z(e){if(!e?.pty)return null;try{let t=e.pty.process;return t?R.default.basename(t):null}catch{return null}}function ue(e,t){if(!e?.pty)return;let r=Z(e);if(r&&r!==e.foregroundProcess){let n=e.foregroundProcess;e.foregroundProcess=r,n!==null&&_({type:"processChange",sessionId:t,process:r,prevProcess:n})}}var Fe=te(500),L=ee({deps:{sessions:g,procs:m,send:oe,broadcast:_,DAEMON_VERSION:B,kv:Fe},send:oe}),je={ping:()=>({version:B}),listSessions:()=>({sessions:Array.from(g.entries()).map(([e,t])=>({id:e,name:t.name,createdAt:t.createdAt,shellId:t.shellId,shellLabel:t.shellLabel,cwd:t.cwd,foregroundProcess:t.foregroundProcess||Z(t)}))}),createSession:e=>Ue(e.sessionId||`session-${Date.now()}`,e.name,e.cols,e.rows,e.shellId,e.cwd),joinSession:(e,{send:t})=>{let r=g.get(e.sessionId);if(!r)return{success:!1,error:"Session not found"};let n=e.client,c=ve(r.modes);c&&t(n,{type:"output",sessionId:e.sessionId,enc:"b64",replay:!0,data:Buffer.from(c).toString("base64")});let i=U(r.buffer,xe);return i&&i.length&&t(n,{type:"output",sessionId:e.sessionId,enc:"b64",replay:!0,data:i.toString("base64")}),{success:!0,name:r.name,cwd:r.cwd,shellId:r.shellId,shellLabel:r.shellLabel,total:O(r.buffer),replaySize:i?i.length:0}},requestHistory:e=>{let t=g.get(e.sessionId);if(!t)return{success:!1,error:"Session not found"};let r=O(t.buffer),n=Math.max(0,Math.min(e.have||0,r)),c=r-n,i=Math.min(Re,c),{prefix:o,extra:s=0}=i>0?se(t.buffer,n,i):{prefix:Buffer.alloc(0),extra:0};return{success:!0,sessionId:e.sessionId,enc:"b64",prefix:o&&o.length?o.toString("base64"):"",prefixLen:o?o.length:0,total:r,remaining:Math.max(0,c-i)}},input:e=>{let t=g.get(e.sessionId);return t?.pty?(t.pty.write(e.data),t.procTimer&&clearTimeout(t.procTimer),t.procTimer=setTimeout(()=>{t.procTimer=null,ue(t,e.sessionId)},300),{}):{}},resize:e=>{let t=g.get(e.sessionId);if(!t?.pty)return{};try{t.pty.resize(e.cols,e.rows)}catch{}return{}},deleteSession:(e,{broadcast:t})=>{let r=g.get(e.sessionId);return r?(r.pty&&r.pty.kill(),g.delete(e.sessionId),t({type:"sessionClosed",sessionId:e.sessionId}),{success:!0}):{success:!1,error:"Session not found"}},getCwd:e=>({cwd:g.get(e.sessionId)?.cwd||null})},Ge={start:e=>Le(e.procId,e),attach:e=>$e(e.procId,e.from),lines:e=>{let t=m.get(e.procId);return t?{success:!0,epoch:t.epoch,lines:ae(t,e.from||0),total:t.lineCount,oldest:t.lines[0]?.n??t.lineCount+1}:{success:!1,error:"Process not found"}},write:e=>ke(e.procId,e.data,e.enc),endInput:e=>He(e.procId),signal:e=>ze(e.procId,e.signal),stop:e=>Be(e.procId),list:()=>({success:!0,procs:Array.from(m.values()).map(e=>({procId:e.id,alive:!e.exited,total:e.lineCount,cwd:e.cwd}))})};L.register("terminal",je);L.register("proc",Ge);L.register("kv",re);L.assertComplete();function qe(e,t){L.enqueue({client:e,message:{...t,client:e}})}function Ze(){if(!u.default.existsSync(D))try{u.default.mkdirSync(D,{recursive:!0})}catch(r){w("Failed to create socket directory",r),process.exit(1)}if(process.platform!=="win32"&&u.default.existsSync(P))try{u.default.unlinkSync(P)}catch(r){w("Failed to remove stale socket",r),process.exit(1)}let e=ce.default.createServer(r=>{H.add(r);let n="";r.on("data",c=>{n+=c.toString();let i=n.split(`
12
+ `);n=i.pop()||"";for(let o of i)if(o.trim())try{let s=JSON.parse(o);qe(r,s)}catch{w("Invalid message",o)}}),r.on("close",()=>{H.delete(r)}),r.on("error",c=>{w("Client error",c),H.delete(r)})});e.on("error",r=>{w("Server error",r),r.code==="EADDRINUSE"&&w("Socket already in use, exiting"),process.exit(1)}),e.listen(P,()=>{if(process.platform!=="win32")try{u.default.chmodSync(P,384)}catch{}});try{u.default.mkdirSync(R.default.dirname(F),{recursive:!0}),u.default.writeFileSync(F,String(process.pid),{mode:384})}catch{}let t=()=>{for(let[,r]of g)if(r.procTimer&&clearTimeout(r.procTimer),r.pty)try{r.pty.kill()}catch{}for(let[,r]of m)G(r.child,"SIGINT");try{e.close()}catch{}if(process.platform!=="win32"&&u.default.existsSync(P))try{u.default.unlinkSync(P)}catch{}try{u.default.unlinkSync(F)}catch{}process.exit(0)};process.on("SIGTERM",t),process.on("SIGINT",t)}Ze();