@boxes-dev/dvb-runtime 1.0.297 → 1.0.299

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 (488) hide show
  1. package/dist/bin/.bundle-state.json +2 -2
  2. package/dist/bin/dvb.cjs +6 -6
  3. package/dist/bin/dvbd.cjs +6 -6
  4. package/package.json +7 -5
  5. package/dist/devbox/auth.d.ts +0 -22
  6. package/dist/devbox/auth.d.ts.map +0 -1
  7. package/dist/devbox/auth.js +0 -233
  8. package/dist/devbox/auth.js.map +0 -1
  9. package/dist/devbox/browser.d.ts +0 -19
  10. package/dist/devbox/browser.d.ts.map +0 -1
  11. package/dist/devbox/browser.js +0 -60
  12. package/dist/devbox/browser.js.map +0 -1
  13. package/dist/devbox/cli.d.ts +0 -7
  14. package/dist/devbox/cli.d.ts.map +0 -1
  15. package/dist/devbox/cli.js +0 -124
  16. package/dist/devbox/cli.js.map +0 -1
  17. package/dist/devbox/commandRegistry/args.d.ts +0 -18
  18. package/dist/devbox/commandRegistry/args.d.ts.map +0 -1
  19. package/dist/devbox/commandRegistry/args.js +0 -107
  20. package/dist/devbox/commandRegistry/args.js.map +0 -1
  21. package/dist/devbox/commandRegistry/catalog.d.ts +0 -4
  22. package/dist/devbox/commandRegistry/catalog.d.ts.map +0 -1
  23. package/dist/devbox/commandRegistry/catalog.js +0 -763
  24. package/dist/devbox/commandRegistry/catalog.js.map +0 -1
  25. package/dist/devbox/commandRegistry/dispatch.d.ts +0 -3
  26. package/dist/devbox/commandRegistry/dispatch.d.ts.map +0 -1
  27. package/dist/devbox/commandRegistry/dispatch.js +0 -61
  28. package/dist/devbox/commandRegistry/dispatch.js.map +0 -1
  29. package/dist/devbox/commandRegistry/errors.d.ts +0 -8
  30. package/dist/devbox/commandRegistry/errors.d.ts.map +0 -1
  31. package/dist/devbox/commandRegistry/errors.js +0 -26
  32. package/dist/devbox/commandRegistry/errors.js.map +0 -1
  33. package/dist/devbox/commandRegistry/help.d.ts +0 -5
  34. package/dist/devbox/commandRegistry/help.d.ts.map +0 -1
  35. package/dist/devbox/commandRegistry/help.js +0 -94
  36. package/dist/devbox/commandRegistry/help.js.map +0 -1
  37. package/dist/devbox/commandRegistry/resolve.d.ts +0 -7
  38. package/dist/devbox/commandRegistry/resolve.d.ts.map +0 -1
  39. package/dist/devbox/commandRegistry/resolve.js +0 -32
  40. package/dist/devbox/commandRegistry/resolve.js.map +0 -1
  41. package/dist/devbox/commandRegistry/tab.d.ts +0 -10
  42. package/dist/devbox/commandRegistry/tab.d.ts.map +0 -1
  43. package/dist/devbox/commandRegistry/tab.js +0 -83
  44. package/dist/devbox/commandRegistry/tab.js.map +0 -1
  45. package/dist/devbox/commandRegistry/types.d.ts +0 -32
  46. package/dist/devbox/commandRegistry/types.d.ts.map +0 -1
  47. package/dist/devbox/commandRegistry/types.js +0 -2
  48. package/dist/devbox/commandRegistry/types.js.map +0 -1
  49. package/dist/devbox/commands/agent.d.ts +0 -52
  50. package/dist/devbox/commands/agent.d.ts.map +0 -1
  51. package/dist/devbox/commands/agent.js +0 -397
  52. package/dist/devbox/commands/agent.js.map +0 -1
  53. package/dist/devbox/commands/boxSelect.d.ts +0 -25
  54. package/dist/devbox/commands/boxSelect.d.ts.map +0 -1
  55. package/dist/devbox/commands/boxSelect.js +0 -94
  56. package/dist/devbox/commands/boxSelect.js.map +0 -1
  57. package/dist/devbox/commands/checkpoint.d.ts +0 -9
  58. package/dist/devbox/commands/checkpoint.d.ts.map +0 -1
  59. package/dist/devbox/commands/checkpoint.js +0 -105
  60. package/dist/devbox/commands/checkpoint.js.map +0 -1
  61. package/dist/devbox/commands/commandProvider.d.ts +0 -33
  62. package/dist/devbox/commands/commandProvider.d.ts.map +0 -1
  63. package/dist/devbox/commands/commandProvider.js +0 -156
  64. package/dist/devbox/commands/commandProvider.js.map +0 -1
  65. package/dist/devbox/commands/connect.d.ts +0 -39
  66. package/dist/devbox/commands/connect.d.ts.map +0 -1
  67. package/dist/devbox/commands/connect.js +0 -1367
  68. package/dist/devbox/commands/connect.js.map +0 -1
  69. package/dist/devbox/commands/connectSessionMapping.d.ts +0 -64
  70. package/dist/devbox/commands/connectSessionMapping.d.ts.map +0 -1
  71. package/dist/devbox/commands/connectSessionMapping.js +0 -153
  72. package/dist/devbox/commands/connectSessionMapping.js.map +0 -1
  73. package/dist/devbox/commands/cp.d.ts +0 -60
  74. package/dist/devbox/commands/cp.d.ts.map +0 -1
  75. package/dist/devbox/commands/cp.js +0 -383
  76. package/dist/devbox/commands/cp.js.map +0 -1
  77. package/dist/devbox/commands/daemon.d.ts +0 -4
  78. package/dist/devbox/commands/daemon.d.ts.map +0 -1
  79. package/dist/devbox/commands/daemon.js +0 -49
  80. package/dist/devbox/commands/daemon.js.map +0 -1
  81. package/dist/devbox/commands/destroy.d.ts +0 -2
  82. package/dist/devbox/commands/destroy.d.ts.map +0 -1
  83. package/dist/devbox/commands/destroy.js +0 -204
  84. package/dist/devbox/commands/destroy.js.map +0 -1
  85. package/dist/devbox/commands/destroyE2b.d.ts +0 -22
  86. package/dist/devbox/commands/destroyE2b.d.ts.map +0 -1
  87. package/dist/devbox/commands/destroyE2b.js +0 -12
  88. package/dist/devbox/commands/destroyE2b.js.map +0 -1
  89. package/dist/devbox/commands/destroyLocalState.d.ts +0 -34
  90. package/dist/devbox/commands/destroyLocalState.d.ts.map +0 -1
  91. package/dist/devbox/commands/destroyLocalState.js +0 -187
  92. package/dist/devbox/commands/destroyLocalState.js.map +0 -1
  93. package/dist/devbox/commands/destroyModal.d.ts +0 -21
  94. package/dist/devbox/commands/destroyModal.d.ts.map +0 -1
  95. package/dist/devbox/commands/destroyModal.js +0 -13
  96. package/dist/devbox/commands/destroyModal.js.map +0 -1
  97. package/dist/devbox/commands/destroyShared.d.ts +0 -14
  98. package/dist/devbox/commands/destroyShared.d.ts.map +0 -1
  99. package/dist/devbox/commands/destroyShared.js +0 -37
  100. package/dist/devbox/commands/destroyShared.js.map +0 -1
  101. package/dist/devbox/commands/fork.d.ts +0 -9
  102. package/dist/devbox/commands/fork.d.ts.map +0 -1
  103. package/dist/devbox/commands/fork.js +0 -94
  104. package/dist/devbox/commands/fork.js.map +0 -1
  105. package/dist/devbox/commands/ide.d.ts +0 -35
  106. package/dist/devbox/commands/ide.d.ts.map +0 -1
  107. package/dist/devbox/commands/ide.js +0 -987
  108. package/dist/devbox/commands/ide.js.map +0 -1
  109. package/dist/devbox/commands/init/args.d.ts +0 -18
  110. package/dist/devbox/commands/init/args.d.ts.map +0 -1
  111. package/dist/devbox/commands/init/args.js +0 -44
  112. package/dist/devbox/commands/init/args.js.map +0 -1
  113. package/dist/devbox/commands/init/clack.d.ts +0 -22
  114. package/dist/devbox/commands/init/clack.d.ts.map +0 -1
  115. package/dist/devbox/commands/init/clack.js +0 -158
  116. package/dist/devbox/commands/init/clack.js.map +0 -1
  117. package/dist/devbox/commands/init/claudeBootstrap.d.ts +0 -49
  118. package/dist/devbox/commands/init/claudeBootstrap.d.ts.map +0 -1
  119. package/dist/devbox/commands/init/claudeBootstrap.js +0 -504
  120. package/dist/devbox/commands/init/claudeBootstrap.js.map +0 -1
  121. package/dist/devbox/commands/init/codex/artifacts.d.ts +0 -49
  122. package/dist/devbox/commands/init/codex/artifacts.d.ts.map +0 -1
  123. package/dist/devbox/commands/init/codex/artifacts.js +0 -278
  124. package/dist/devbox/commands/init/codex/artifacts.js.map +0 -1
  125. package/dist/devbox/commands/init/codex/config.d.ts +0 -6
  126. package/dist/devbox/commands/init/codex/config.d.ts.map +0 -1
  127. package/dist/devbox/commands/init/codex/config.js +0 -43
  128. package/dist/devbox/commands/init/codex/config.js.map +0 -1
  129. package/dist/devbox/commands/init/codex/events.d.ts +0 -14
  130. package/dist/devbox/commands/init/codex/events.d.ts.map +0 -1
  131. package/dist/devbox/commands/init/codex/events.js +0 -435
  132. package/dist/devbox/commands/init/codex/events.js.map +0 -1
  133. package/dist/devbox/commands/init/codex/execConfig.d.ts +0 -5
  134. package/dist/devbox/commands/init/codex/execConfig.d.ts.map +0 -1
  135. package/dist/devbox/commands/init/codex/execConfig.js +0 -10
  136. package/dist/devbox/commands/init/codex/execConfig.js.map +0 -1
  137. package/dist/devbox/commands/init/codex/index.d.ts +0 -136
  138. package/dist/devbox/commands/init/codex/index.d.ts.map +0 -1
  139. package/dist/devbox/commands/init/codex/index.js +0 -1115
  140. package/dist/devbox/commands/init/codex/index.js.map +0 -1
  141. package/dist/devbox/commands/init/codex/local.d.ts +0 -124
  142. package/dist/devbox/commands/init/codex/local.d.ts.map +0 -1
  143. package/dist/devbox/commands/init/codex/local.js +0 -1381
  144. package/dist/devbox/commands/init/codex/local.js.map +0 -1
  145. package/dist/devbox/commands/init/codex/localExecArgs.d.ts +0 -25
  146. package/dist/devbox/commands/init/codex/localExecArgs.d.ts.map +0 -1
  147. package/dist/devbox/commands/init/codex/localExecArgs.js +0 -48
  148. package/dist/devbox/commands/init/codex/localExecArgs.js.map +0 -1
  149. package/dist/devbox/commands/init/codex/plan.d.ts +0 -99
  150. package/dist/devbox/commands/init/codex/plan.d.ts.map +0 -1
  151. package/dist/devbox/commands/init/codex/plan.js +0 -231
  152. package/dist/devbox/commands/init/codex/plan.js.map +0 -1
  153. package/dist/devbox/commands/init/codex/prompts.d.ts +0 -9
  154. package/dist/devbox/commands/init/codex/prompts.d.ts.map +0 -1
  155. package/dist/devbox/commands/init/codex/prompts.js +0 -51
  156. package/dist/devbox/commands/init/codex/prompts.js.map +0 -1
  157. package/dist/devbox/commands/init/codex/proxy.d.ts +0 -10
  158. package/dist/devbox/commands/init/codex/proxy.d.ts.map +0 -1
  159. package/dist/devbox/commands/init/codex/proxy.js +0 -32
  160. package/dist/devbox/commands/init/codex/proxy.js.map +0 -1
  161. package/dist/devbox/commands/init/codex/remote.d.ts +0 -96
  162. package/dist/devbox/commands/init/codex/remote.d.ts.map +0 -1
  163. package/dist/devbox/commands/init/codex/remote.js +0 -927
  164. package/dist/devbox/commands/init/codex/remote.js.map +0 -1
  165. package/dist/devbox/commands/init/codex/retry.d.ts +0 -17
  166. package/dist/devbox/commands/init/codex/retry.d.ts.map +0 -1
  167. package/dist/devbox/commands/init/codex/retry.js +0 -17
  168. package/dist/devbox/commands/init/codex/retry.js.map +0 -1
  169. package/dist/devbox/commands/init/codex/scanStatus.d.ts +0 -5
  170. package/dist/devbox/commands/init/codex/scanStatus.d.ts.map +0 -1
  171. package/dist/devbox/commands/init/codex/scanStatus.js +0 -27
  172. package/dist/devbox/commands/init/codex/scanStatus.js.map +0 -1
  173. package/dist/devbox/commands/init/codex/shellHistory.d.ts +0 -39
  174. package/dist/devbox/commands/init/codex/shellHistory.d.ts.map +0 -1
  175. package/dist/devbox/commands/init/codex/shellHistory.js +0 -258
  176. package/dist/devbox/commands/init/codex/shellHistory.js.map +0 -1
  177. package/dist/devbox/commands/init/codex/template.d.ts +0 -3
  178. package/dist/devbox/commands/init/codex/template.d.ts.map +0 -1
  179. package/dist/devbox/commands/init/codex/template.js +0 -3
  180. package/dist/devbox/commands/init/codex/template.js.map +0 -1
  181. package/dist/devbox/commands/init/finalizeFlow.d.ts +0 -95
  182. package/dist/devbox/commands/init/finalizeFlow.d.ts.map +0 -1
  183. package/dist/devbox/commands/init/finalizeFlow.js +0 -786
  184. package/dist/devbox/commands/init/finalizeFlow.js.map +0 -1
  185. package/dist/devbox/commands/init/index.d.ts +0 -11
  186. package/dist/devbox/commands/init/index.d.ts.map +0 -1
  187. package/dist/devbox/commands/init/index.js +0 -1058
  188. package/dist/devbox/commands/init/index.js.map +0 -1
  189. package/dist/devbox/commands/init/modal.d.ts +0 -5
  190. package/dist/devbox/commands/init/modal.d.ts.map +0 -1
  191. package/dist/devbox/commands/init/modal.js +0 -4
  192. package/dist/devbox/commands/init/modal.js.map +0 -1
  193. package/dist/devbox/commands/init/packaging.d.ts +0 -5
  194. package/dist/devbox/commands/init/packaging.d.ts.map +0 -1
  195. package/dist/devbox/commands/init/packaging.js +0 -81
  196. package/dist/devbox/commands/init/packaging.js.map +0 -1
  197. package/dist/devbox/commands/init/progress.d.ts +0 -31
  198. package/dist/devbox/commands/init/progress.d.ts.map +0 -1
  199. package/dist/devbox/commands/init/progress.js +0 -205
  200. package/dist/devbox/commands/init/progress.js.map +0 -1
  201. package/dist/devbox/commands/init/provider/e2b.d.ts +0 -29
  202. package/dist/devbox/commands/init/provider/e2b.d.ts.map +0 -1
  203. package/dist/devbox/commands/init/provider/e2b.js +0 -130
  204. package/dist/devbox/commands/init/provider/e2b.js.map +0 -1
  205. package/dist/devbox/commands/init/provider/e2bRuntime.d.ts +0 -39
  206. package/dist/devbox/commands/init/provider/e2bRuntime.d.ts.map +0 -1
  207. package/dist/devbox/commands/init/provider/e2bRuntime.js +0 -679
  208. package/dist/devbox/commands/init/provider/e2bRuntime.js.map +0 -1
  209. package/dist/devbox/commands/init/provider/index.d.ts +0 -8
  210. package/dist/devbox/commands/init/provider/index.d.ts.map +0 -1
  211. package/dist/devbox/commands/init/provider/index.js +0 -5
  212. package/dist/devbox/commands/init/provider/index.js.map +0 -1
  213. package/dist/devbox/commands/init/provider/modal.d.ts +0 -34
  214. package/dist/devbox/commands/init/provider/modal.d.ts.map +0 -1
  215. package/dist/devbox/commands/init/provider/modal.js +0 -274
  216. package/dist/devbox/commands/init/provider/modal.js.map +0 -1
  217. package/dist/devbox/commands/init/provider/modalRuntime.d.ts +0 -3
  218. package/dist/devbox/commands/init/provider/modalRuntime.d.ts.map +0 -1
  219. package/dist/devbox/commands/init/provider/modalRuntime.js +0 -2
  220. package/dist/devbox/commands/init/provider/modalRuntime.js.map +0 -1
  221. package/dist/devbox/commands/init/provider/resolve.d.ts +0 -44
  222. package/dist/devbox/commands/init/provider/resolve.d.ts.map +0 -1
  223. package/dist/devbox/commands/init/provider/resolve.js +0 -172
  224. package/dist/devbox/commands/init/provider/resolve.js.map +0 -1
  225. package/dist/devbox/commands/init/provider/shared.d.ts +0 -10
  226. package/dist/devbox/commands/init/provider/shared.d.ts.map +0 -1
  227. package/dist/devbox/commands/init/provider/shared.js +0 -2
  228. package/dist/devbox/commands/init/provider/shared.js.map +0 -1
  229. package/dist/devbox/commands/init/provider/sprites.d.ts +0 -30
  230. package/dist/devbox/commands/init/provider/sprites.d.ts.map +0 -1
  231. package/dist/devbox/commands/init/provider/sprites.js +0 -183
  232. package/dist/devbox/commands/init/provider/sprites.js.map +0 -1
  233. package/dist/devbox/commands/init/provider/types.d.ts +0 -19
  234. package/dist/devbox/commands/init/provider/types.d.ts.map +0 -1
  235. package/dist/devbox/commands/init/provider/types.js +0 -2
  236. package/dist/devbox/commands/init/provider/types.js.map +0 -1
  237. package/dist/devbox/commands/init/provisionFlow.d.ts +0 -53
  238. package/dist/devbox/commands/init/provisionFlow.d.ts.map +0 -1
  239. package/dist/devbox/commands/init/provisionFlow.js +0 -541
  240. package/dist/devbox/commands/init/provisionFlow.js.map +0 -1
  241. package/dist/devbox/commands/init/registry.d.ts +0 -15
  242. package/dist/devbox/commands/init/registry.d.ts.map +0 -1
  243. package/dist/devbox/commands/init/registry.js +0 -38
  244. package/dist/devbox/commands/init/registry.js.map +0 -1
  245. package/dist/devbox/commands/init/remote.d.ts +0 -48
  246. package/dist/devbox/commands/init/remote.d.ts.map +0 -1
  247. package/dist/devbox/commands/init/remote.js +0 -766
  248. package/dist/devbox/commands/init/remote.js.map +0 -1
  249. package/dist/devbox/commands/init/repo.d.ts +0 -45
  250. package/dist/devbox/commands/init/repo.d.ts.map +0 -1
  251. package/dist/devbox/commands/init/repo.js +0 -235
  252. package/dist/devbox/commands/init/repo.js.map +0 -1
  253. package/dist/devbox/commands/init/retryableErrors.d.ts +0 -4
  254. package/dist/devbox/commands/init/retryableErrors.d.ts.map +0 -1
  255. package/dist/devbox/commands/init/retryableErrors.js +0 -42
  256. package/dist/devbox/commands/init/retryableErrors.js.map +0 -1
  257. package/dist/devbox/commands/init/scanProgress.d.ts +0 -18
  258. package/dist/devbox/commands/init/scanProgress.d.ts.map +0 -1
  259. package/dist/devbox/commands/init/scanProgress.js +0 -47
  260. package/dist/devbox/commands/init/scanProgress.js.map +0 -1
  261. package/dist/devbox/commands/init/session.d.ts +0 -72
  262. package/dist/devbox/commands/init/session.d.ts.map +0 -1
  263. package/dist/devbox/commands/init/session.js +0 -348
  264. package/dist/devbox/commands/init/session.js.map +0 -1
  265. package/dist/devbox/commands/init/setupArtifactsValidation.d.ts +0 -28
  266. package/dist/devbox/commands/init/setupArtifactsValidation.d.ts.map +0 -1
  267. package/dist/devbox/commands/init/setupArtifactsValidation.js +0 -113
  268. package/dist/devbox/commands/init/setupArtifactsValidation.js.map +0 -1
  269. package/dist/devbox/commands/init/setupPlanFlow.d.ts +0 -34
  270. package/dist/devbox/commands/init/setupPlanFlow.d.ts.map +0 -1
  271. package/dist/devbox/commands/init/setupPlanFlow.js +0 -967
  272. package/dist/devbox/commands/init/setupPlanFlow.js.map +0 -1
  273. package/dist/devbox/commands/init/ssh.d.ts +0 -19
  274. package/dist/devbox/commands/init/ssh.d.ts.map +0 -1
  275. package/dist/devbox/commands/init/ssh.js +0 -276
  276. package/dist/devbox/commands/init/ssh.js.map +0 -1
  277. package/dist/devbox/commands/init/state.d.ts +0 -73
  278. package/dist/devbox/commands/init/state.d.ts.map +0 -1
  279. package/dist/devbox/commands/init/state.js +0 -118
  280. package/dist/devbox/commands/init/state.js.map +0 -1
  281. package/dist/devbox/commands/init/statusFlow.d.ts +0 -27
  282. package/dist/devbox/commands/init/statusFlow.d.ts.map +0 -1
  283. package/dist/devbox/commands/init/statusFlow.js +0 -160
  284. package/dist/devbox/commands/init/statusFlow.js.map +0 -1
  285. package/dist/devbox/commands/list.d.ts +0 -35
  286. package/dist/devbox/commands/list.d.ts.map +0 -1
  287. package/dist/devbox/commands/list.js +0 -311
  288. package/dist/devbox/commands/list.js.map +0 -1
  289. package/dist/devbox/commands/listFormatting.d.ts +0 -27
  290. package/dist/devbox/commands/listFormatting.d.ts.map +0 -1
  291. package/dist/devbox/commands/listFormatting.js +0 -155
  292. package/dist/devbox/commands/listFormatting.js.map +0 -1
  293. package/dist/devbox/commands/logout.d.ts +0 -2
  294. package/dist/devbox/commands/logout.d.ts.map +0 -1
  295. package/dist/devbox/commands/logout.js +0 -64
  296. package/dist/devbox/commands/logout.js.map +0 -1
  297. package/dist/devbox/commands/managedProviderClient.d.ts +0 -24
  298. package/dist/devbox/commands/managedProviderClient.d.ts.map +0 -1
  299. package/dist/devbox/commands/managedProviderClient.js +0 -42
  300. package/dist/devbox/commands/managedProviderClient.js.map +0 -1
  301. package/dist/devbox/commands/managedProviderContext.d.ts +0 -34
  302. package/dist/devbox/commands/managedProviderContext.d.ts.map +0 -1
  303. package/dist/devbox/commands/managedProviderContext.js +0 -34
  304. package/dist/devbox/commands/managedProviderContext.js.map +0 -1
  305. package/dist/devbox/commands/mount.d.ts +0 -25
  306. package/dist/devbox/commands/mount.d.ts.map +0 -1
  307. package/dist/devbox/commands/mount.js +0 -200
  308. package/dist/devbox/commands/mount.js.map +0 -1
  309. package/dist/devbox/commands/ports.d.ts +0 -11
  310. package/dist/devbox/commands/ports.d.ts.map +0 -1
  311. package/dist/devbox/commands/ports.js +0 -183
  312. package/dist/devbox/commands/ports.js.map +0 -1
  313. package/dist/devbox/commands/power.d.ts +0 -10
  314. package/dist/devbox/commands/power.d.ts.map +0 -1
  315. package/dist/devbox/commands/power.js +0 -139
  316. package/dist/devbox/commands/power.js.map +0 -1
  317. package/dist/devbox/commands/provider/daemonRuntimeShared.d.ts +0 -25
  318. package/dist/devbox/commands/provider/daemonRuntimeShared.d.ts.map +0 -1
  319. package/dist/devbox/commands/provider/daemonRuntimeShared.js +0 -217
  320. package/dist/devbox/commands/provider/daemonRuntimeShared.js.map +0 -1
  321. package/dist/devbox/commands/provider/directDaemonRuntime.d.ts +0 -106
  322. package/dist/devbox/commands/provider/directDaemonRuntime.d.ts.map +0 -1
  323. package/dist/devbox/commands/provider/directDaemonRuntime.js +0 -1442
  324. package/dist/devbox/commands/provider/directDaemonRuntime.js.map +0 -1
  325. package/dist/devbox/commands/provider/e2bCommandContext.d.ts +0 -11
  326. package/dist/devbox/commands/provider/e2bCommandContext.d.ts.map +0 -1
  327. package/dist/devbox/commands/provider/e2bCommandContext.js +0 -16
  328. package/dist/devbox/commands/provider/e2bCommandContext.js.map +0 -1
  329. package/dist/devbox/commands/provider/e2bLifecycleShared.d.ts +0 -20
  330. package/dist/devbox/commands/provider/e2bLifecycleShared.d.ts.map +0 -1
  331. package/dist/devbox/commands/provider/e2bLifecycleShared.js +0 -42
  332. package/dist/devbox/commands/provider/e2bLifecycleShared.js.map +0 -1
  333. package/dist/devbox/commands/provider/modalCommandContext.d.ts +0 -22
  334. package/dist/devbox/commands/provider/modalCommandContext.d.ts.map +0 -1
  335. package/dist/devbox/commands/provider/modalCommandContext.js +0 -47
  336. package/dist/devbox/commands/provider/modalCommandContext.js.map +0 -1
  337. package/dist/devbox/commands/provider/modalLifecycle.d.ts +0 -158
  338. package/dist/devbox/commands/provider/modalLifecycle.d.ts.map +0 -1
  339. package/dist/devbox/commands/provider/modalLifecycle.js +0 -702
  340. package/dist/devbox/commands/provider/modalLifecycle.js.map +0 -1
  341. package/dist/devbox/commands/provider/modalRuntime.d.ts +0 -25
  342. package/dist/devbox/commands/provider/modalRuntime.d.ts.map +0 -1
  343. package/dist/devbox/commands/provider/modalRuntime.js +0 -791
  344. package/dist/devbox/commands/provider/modalRuntime.js.map +0 -1
  345. package/dist/devbox/commands/provider/runtimeTypes.d.ts +0 -8
  346. package/dist/devbox/commands/provider/runtimeTypes.d.ts.map +0 -1
  347. package/dist/devbox/commands/provider/runtimeTypes.js +0 -2
  348. package/dist/devbox/commands/provider/runtimeTypes.js.map +0 -1
  349. package/dist/devbox/commands/providerClient.d.ts +0 -82
  350. package/dist/devbox/commands/providerClient.d.ts.map +0 -1
  351. package/dist/devbox/commands/providerClient.js +0 -719
  352. package/dist/devbox/commands/providerClient.js.map +0 -1
  353. package/dist/devbox/commands/reboot.d.ts +0 -8
  354. package/dist/devbox/commands/reboot.d.ts.map +0 -1
  355. package/dist/devbox/commands/reboot.js +0 -100
  356. package/dist/devbox/commands/reboot.js.map +0 -1
  357. package/dist/devbox/commands/reset.d.ts +0 -30
  358. package/dist/devbox/commands/reset.d.ts.map +0 -1
  359. package/dist/devbox/commands/reset.js +0 -114
  360. package/dist/devbox/commands/reset.js.map +0 -1
  361. package/dist/devbox/commands/runtimeClient.d.ts +0 -65
  362. package/dist/devbox/commands/runtimeClient.d.ts.map +0 -1
  363. package/dist/devbox/commands/runtimeClient.js +0 -127
  364. package/dist/devbox/commands/runtimeClient.js.map +0 -1
  365. package/dist/devbox/commands/sentryTest.d.ts +0 -2
  366. package/dist/devbox/commands/sentryTest.d.ts.map +0 -1
  367. package/dist/devbox/commands/sentryTest.js +0 -117
  368. package/dist/devbox/commands/sentryTest.js.map +0 -1
  369. package/dist/devbox/commands/services.d.ts +0 -2
  370. package/dist/devbox/commands/services.d.ts.map +0 -1
  371. package/dist/devbox/commands/services.js +0 -619
  372. package/dist/devbox/commands/services.js.map +0 -1
  373. package/dist/devbox/commands/servicesConfig.d.ts +0 -19
  374. package/dist/devbox/commands/servicesConfig.d.ts.map +0 -1
  375. package/dist/devbox/commands/servicesConfig.js +0 -61
  376. package/dist/devbox/commands/servicesConfig.js.map +0 -1
  377. package/dist/devbox/commands/servicesToml.d.ts +0 -13
  378. package/dist/devbox/commands/servicesToml.d.ts.map +0 -1
  379. package/dist/devbox/commands/servicesToml.js +0 -201
  380. package/dist/devbox/commands/servicesToml.js.map +0 -1
  381. package/dist/devbox/commands/sessionUtils.d.ts +0 -10
  382. package/dist/devbox/commands/sessionUtils.d.ts.map +0 -1
  383. package/dist/devbox/commands/sessionUtils.js +0 -48
  384. package/dist/devbox/commands/sessionUtils.js.map +0 -1
  385. package/dist/devbox/commands/sessions.d.ts +0 -3
  386. package/dist/devbox/commands/sessions.d.ts.map +0 -1
  387. package/dist/devbox/commands/sessions.js +0 -490
  388. package/dist/devbox/commands/sessions.js.map +0 -1
  389. package/dist/devbox/commands/setup.d.ts +0 -36
  390. package/dist/devbox/commands/setup.d.ts.map +0 -1
  391. package/dist/devbox/commands/setup.js +0 -816
  392. package/dist/devbox/commands/setup.js.map +0 -1
  393. package/dist/devbox/commands/setupClaude.d.ts +0 -51
  394. package/dist/devbox/commands/setupClaude.d.ts.map +0 -1
  395. package/dist/devbox/commands/setupClaude.js +0 -202
  396. package/dist/devbox/commands/setupClaude.js.map +0 -1
  397. package/dist/devbox/commands/setupTooling.d.ts +0 -56
  398. package/dist/devbox/commands/setupTooling.d.ts.map +0 -1
  399. package/dist/devbox/commands/setupTooling.js +0 -187
  400. package/dist/devbox/commands/setupTooling.js.map +0 -1
  401. package/dist/devbox/commands/sshAccess.d.ts +0 -31
  402. package/dist/devbox/commands/sshAccess.d.ts.map +0 -1
  403. package/dist/devbox/commands/sshAccess.js +0 -353
  404. package/dist/devbox/commands/sshAccess.js.map +0 -1
  405. package/dist/devbox/commands/sshConfig.d.ts +0 -23
  406. package/dist/devbox/commands/sshConfig.d.ts.map +0 -1
  407. package/dist/devbox/commands/sshConfig.js +0 -366
  408. package/dist/devbox/commands/sshConfig.js.map +0 -1
  409. package/dist/devbox/commands/sshProxy.d.ts +0 -2
  410. package/dist/devbox/commands/sshProxy.d.ts.map +0 -1
  411. package/dist/devbox/commands/sshProxy.js +0 -215
  412. package/dist/devbox/commands/sshProxy.js.map +0 -1
  413. package/dist/devbox/commands/uninstall.d.ts +0 -2
  414. package/dist/devbox/commands/uninstall.d.ts.map +0 -1
  415. package/dist/devbox/commands/uninstall.js +0 -365
  416. package/dist/devbox/commands/uninstall.js.map +0 -1
  417. package/dist/devbox/commands/upgrade.d.ts +0 -14
  418. package/dist/devbox/commands/upgrade.d.ts.map +0 -1
  419. package/dist/devbox/commands/upgrade.js +0 -60
  420. package/dist/devbox/commands/upgrade.js.map +0 -1
  421. package/dist/devbox/commands/version.d.ts +0 -8
  422. package/dist/devbox/commands/version.d.ts.map +0 -1
  423. package/dist/devbox/commands/version.js +0 -134
  424. package/dist/devbox/commands/version.js.map +0 -1
  425. package/dist/devbox/commands/whoami.d.ts +0 -2
  426. package/dist/devbox/commands/whoami.d.ts.map +0 -1
  427. package/dist/devbox/commands/whoami.js +0 -114
  428. package/dist/devbox/commands/whoami.js.map +0 -1
  429. package/dist/devbox/completions/cache.d.ts +0 -53
  430. package/dist/devbox/completions/cache.d.ts.map +0 -1
  431. package/dist/devbox/completions/cache.js +0 -227
  432. package/dist/devbox/completions/cache.js.map +0 -1
  433. package/dist/devbox/completions/index.d.ts +0 -18
  434. package/dist/devbox/completions/index.d.ts.map +0 -1
  435. package/dist/devbox/completions/index.js +0 -759
  436. package/dist/devbox/completions/index.js.map +0 -1
  437. package/dist/devbox/controlPlane.d.ts +0 -460
  438. package/dist/devbox/controlPlane.d.ts.map +0 -1
  439. package/dist/devbox/controlPlane.js +0 -1910
  440. package/dist/devbox/controlPlane.js.map +0 -1
  441. package/dist/devbox/daemonClient.d.ts +0 -44
  442. package/dist/devbox/daemonClient.d.ts.map +0 -1
  443. package/dist/devbox/daemonClient.js +0 -677
  444. package/dist/devbox/daemonClient.js.map +0 -1
  445. package/dist/devbox/e2bExecErrors.d.ts +0 -11
  446. package/dist/devbox/e2bExecErrors.d.ts.map +0 -1
  447. package/dist/devbox/e2bExecErrors.js +0 -19
  448. package/dist/devbox/e2bExecErrors.js.map +0 -1
  449. package/dist/devbox/latency.d.ts +0 -25
  450. package/dist/devbox/latency.d.ts.map +0 -1
  451. package/dist/devbox/latency.js +0 -186
  452. package/dist/devbox/latency.js.map +0 -1
  453. package/dist/devbox/logger.d.ts +0 -2
  454. package/dist/devbox/logger.d.ts.map +0 -1
  455. package/dist/devbox/logger.js +0 -3
  456. package/dist/devbox/logger.js.map +0 -1
  457. package/dist/devbox/terminal/kittyCtrlCReleaseSuppressor.d.ts +0 -11
  458. package/dist/devbox/terminal/kittyCtrlCReleaseSuppressor.d.ts.map +0 -1
  459. package/dist/devbox/terminal/kittyCtrlCReleaseSuppressor.js +0 -118
  460. package/dist/devbox/terminal/kittyCtrlCReleaseSuppressor.js.map +0 -1
  461. package/dist/devbox/terminal/osc.d.ts +0 -11
  462. package/dist/devbox/terminal/osc.d.ts.map +0 -1
  463. package/dist/devbox/terminal/osc.js +0 -84
  464. package/dist/devbox/terminal/osc.js.map +0 -1
  465. package/dist/devbox/terminal/sessionProtocol.d.ts +0 -46
  466. package/dist/devbox/terminal/sessionProtocol.d.ts.map +0 -1
  467. package/dist/devbox/terminal/sessionProtocol.js +0 -631
  468. package/dist/devbox/terminal/sessionProtocol.js.map +0 -1
  469. package/dist/devbox/ui/colors.d.ts +0 -19
  470. package/dist/devbox/ui/colors.d.ts.map +0 -1
  471. package/dist/devbox/ui/colors.js +0 -22
  472. package/dist/devbox/ui/colors.js.map +0 -1
  473. package/dist/devbox/ui/copyableUrl.d.ts +0 -4
  474. package/dist/devbox/ui/copyableUrl.d.ts.map +0 -1
  475. package/dist/devbox/ui/copyableUrl.js +0 -10
  476. package/dist/devbox/ui/copyableUrl.js.map +0 -1
  477. package/dist/devbox/ui/qr.d.ts +0 -3
  478. package/dist/devbox/ui/qr.d.ts.map +0 -1
  479. package/dist/devbox/ui/qr.js +0 -17
  480. package/dist/devbox/ui/qr.js.map +0 -1
  481. package/dist/devbox/ui/statusLine.d.ts +0 -14
  482. package/dist/devbox/ui/statusLine.d.ts.map +0 -1
  483. package/dist/devbox/ui/statusLine.js +0 -92
  484. package/dist/devbox/ui/statusLine.js.map +0 -1
  485. package/dist/devbox/updateNotice.d.ts +0 -2
  486. package/dist/devbox/updateNotice.d.ts.map +0 -1
  487. package/dist/devbox/updateNotice.js +0 -43
  488. package/dist/devbox/updateNotice.js.map +0 -1
@@ -1,366 +0,0 @@
1
- import { spawnSync } from "node:child_process";
2
- import fs from "node:fs/promises";
3
- import os from "node:os";
4
- import path from "node:path";
5
- import { resolveDevboxProfile } from "@boxes-dev/core";
6
- import { getKnownHostsPath, getManagedSshConfigPath, getManagedSshDir, getManagedSshKeyPath, resolveManagedSshPort, } from "./sshAccess.js";
7
- const INCLUDE_BEGIN = "# >>> dvb ssh include >>>";
8
- const INCLUDE_END = "# <<< dvb ssh include <<<";
9
- const HOST_BEGIN_PREFIX = "# >>> dvb host begin (";
10
- const HOST_END_PREFIX = "# <<< dvb host end (";
11
- const HOST_META_PREFIX = "# dvb-meta ";
12
- const MANAGED_CONFIG_HEADER = "# This file is managed by dvb. Manual edits may be overwritten.\n";
13
- const MANAGED_SSH_PORTS = new Set([
14
- resolveManagedSshPort("sprites"),
15
- resolveManagedSshPort("e2b"),
16
- ]);
17
- const shellEscape = (value) => `'${value.replace(/'/g, `'\\''`)}'`;
18
- const homeDir = () => process.env.HOME?.trim() || os.homedir();
19
- const ensureDir = async (dirPath) => {
20
- await fs.mkdir(dirPath, { recursive: true, mode: 0o700 });
21
- try {
22
- await fs.chmod(dirPath, 0o700);
23
- }
24
- catch {
25
- // best effort; permission changes can fail on some filesystems
26
- }
27
- };
28
- const ensureFileMode = async (filePath, mode) => {
29
- try {
30
- await fs.chmod(filePath, mode);
31
- }
32
- catch {
33
- // best effort; permission changes can fail on some filesystems
34
- }
35
- };
36
- const readTextFile = async (filePath) => {
37
- try {
38
- return await fs.readFile(filePath, "utf8");
39
- }
40
- catch (error) {
41
- if (error instanceof Error &&
42
- "code" in error &&
43
- error.code === "ENOENT") {
44
- return null;
45
- }
46
- throw error;
47
- }
48
- };
49
- const writeTextFile = async (filePath, content, mode) => {
50
- await fs.writeFile(filePath, content, "utf8");
51
- await ensureFileMode(filePath, mode);
52
- };
53
- const parseManagedMetadata = (line) => {
54
- if (!line.startsWith(HOST_META_PREFIX)) {
55
- return null;
56
- }
57
- try {
58
- const parsed = JSON.parse(line.slice(HOST_META_PREFIX.length));
59
- if (!parsed || typeof parsed !== "object") {
60
- return null;
61
- }
62
- const record = parsed;
63
- const boxAlias = typeof record.boxAlias === "string" ? record.boxAlias.trim() : "";
64
- const hostAlias = typeof record.hostAlias === "string" ? record.hostAlias.trim() : "";
65
- const hostKeyAlias = typeof record.hostKeyAlias === "string" ? record.hostKeyAlias.trim() : "";
66
- const instanceId = typeof record.instanceId === "string" ? record.instanceId.trim() : "";
67
- const sshUser = typeof record.sshUser === "string" ? record.sshUser.trim() : "";
68
- const workdir = typeof record.workdir === "string" && record.workdir.trim().length > 0
69
- ? record.workdir.trim()
70
- : null;
71
- const computeProvider = record.computeProvider === "sprites" ||
72
- record.computeProvider === "modal" ||
73
- record.computeProvider === "e2b"
74
- ? record.computeProvider
75
- : null;
76
- if (!boxAlias ||
77
- !hostAlias ||
78
- !hostKeyAlias ||
79
- !instanceId ||
80
- !sshUser ||
81
- !computeProvider) {
82
- return null;
83
- }
84
- return {
85
- version: 1,
86
- boxAlias,
87
- hostAlias,
88
- hostKeyAlias,
89
- instanceId,
90
- sshUser,
91
- workdir,
92
- computeProvider,
93
- };
94
- }
95
- catch {
96
- return null;
97
- }
98
- };
99
- const parseManagedEntries = (content) => {
100
- const parsed = new Map();
101
- const lines = content.split(/\r?\n/);
102
- for (let index = 0; index < lines.length; index += 1) {
103
- const line = lines[index];
104
- if (!line?.startsWith(HOST_BEGIN_PREFIX)) {
105
- continue;
106
- }
107
- const hostAlias = line.slice(HOST_BEGIN_PREFIX.length, -1).trim();
108
- const metadata = parseManagedMetadata(lines[index + 1] ?? "");
109
- if (!hostAlias || !metadata || metadata.hostAlias !== hostAlias) {
110
- continue;
111
- }
112
- parsed.set(hostAlias, {
113
- boxAlias: metadata.boxAlias,
114
- hostAlias: metadata.hostAlias,
115
- hostKeyAlias: metadata.hostKeyAlias,
116
- instanceId: metadata.instanceId,
117
- sshUser: metadata.sshUser,
118
- workdir: metadata.workdir,
119
- computeProvider: metadata.computeProvider,
120
- });
121
- }
122
- return parsed;
123
- };
124
- const resolveCliName = () => {
125
- const raw = process.env.DEVBOX_CLI_NAME?.trim();
126
- if (!raw)
127
- return "dvb";
128
- const normalized = raw.replace(/[^A-Za-z0-9_-]+/g, "").slice(0, 32);
129
- return normalized.length > 0 ? normalized : "dvb";
130
- };
131
- const resolveDvbCommand = async () => {
132
- const scriptPath = process.argv[1];
133
- if (scriptPath) {
134
- const candidate = path.isAbsolute(scriptPath)
135
- ? scriptPath
136
- : path.resolve(process.cwd(), scriptPath);
137
- try {
138
- await fs.access(candidate);
139
- return [process.execPath, candidate];
140
- }
141
- catch {
142
- // fall through
143
- }
144
- }
145
- return [resolveCliName()];
146
- };
147
- const buildProxyCommand = async (boxAlias, sshPort) => {
148
- const command = await resolveDvbCommand();
149
- const args = [
150
- "env",
151
- "DEVBOX_SSH_PROXY=1",
152
- "DEVBOX_LOG_LEVEL=silent",
153
- "NODE_NO_WARNINGS=1",
154
- ...command,
155
- "ssh",
156
- "proxy",
157
- boxAlias,
158
- "--port",
159
- String(sshPort),
160
- ];
161
- const commandString = args.map(shellEscape).join(" ");
162
- const shellArgs = [
163
- "/bin/sh",
164
- "-c",
165
- `cd ${shellEscape(homeDir())} && exec ${commandString}`,
166
- ];
167
- return shellArgs.map(shellEscape).join(" ");
168
- };
169
- const renderManagedEntryBlock = async (entry) => {
170
- const sshPort = resolveManagedSshPort(entry.computeProvider);
171
- const proxyCommand = await buildProxyCommand(entry.boxAlias, sshPort);
172
- const metadata = {
173
- version: 1,
174
- boxAlias: entry.boxAlias,
175
- hostAlias: entry.hostAlias,
176
- hostKeyAlias: entry.hostKeyAlias,
177
- instanceId: entry.instanceId,
178
- sshUser: entry.sshUser,
179
- workdir: entry.workdir,
180
- computeProvider: entry.computeProvider,
181
- };
182
- const lines = [
183
- `${HOST_BEGIN_PREFIX}${entry.hostAlias})`,
184
- `${HOST_META_PREFIX}${JSON.stringify(metadata)}`,
185
- `Host ${entry.hostAlias}`,
186
- ` HostName ${entry.boxAlias}`,
187
- ` HostKeyAlias ${entry.hostKeyAlias}`,
188
- ` User ${entry.sshUser}`,
189
- ` Port ${String(sshPort)}`,
190
- " IdentitiesOnly yes",
191
- " IdentityAgent none",
192
- ` IdentityFile ${getManagedSshKeyPath()}`,
193
- ` UserKnownHostsFile ${getKnownHostsPath()}`,
194
- " StrictHostKeyChecking accept-new",
195
- " ServerAliveInterval 15",
196
- " ServerAliveCountMax 3",
197
- ` ProxyCommand ${proxyCommand}`,
198
- `${HOST_END_PREFIX}${entry.hostAlias})`,
199
- "",
200
- ];
201
- return lines.join("\n");
202
- };
203
- const renderManagedConfig = async (entries) => {
204
- const blocks = await Promise.all(entries
205
- .slice()
206
- .sort((left, right) => left.hostAlias.localeCompare(right.hostAlias))
207
- .map(async (entry) => await renderManagedEntryBlock(entry)));
208
- const body = blocks.join("");
209
- if (!body) {
210
- return MANAGED_CONFIG_HEADER;
211
- }
212
- return `${MANAGED_CONFIG_HEADER}\n${body}`;
213
- };
214
- const resolveIncludePath = () => getManagedSshConfigPath();
215
- const renderIncludeBlock = () => [INCLUDE_BEGIN, `Include ${resolveIncludePath()}`, INCLUDE_END].join("\n");
216
- const mainSshDir = () => path.join(homeDir(), ".ssh");
217
- const mainSshConfigPath = () => path.join(mainSshDir(), "config");
218
- const includeBlockPattern = () => new RegExp(`${INCLUDE_BEGIN.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\r?\\n[\\s\\S]*?${INCLUDE_END.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\r?\\n?`, "g");
219
- export const resolveManagedHostAlias = (boxAlias) => {
220
- const normalized = boxAlias.trim();
221
- const prefix = resolveDevboxProfile() === "dev" ? "dvb-dev-" : "dvb-";
222
- return `${prefix}${normalized}`;
223
- };
224
- export const resolveManagedHostKeyAlias = (instanceId) => {
225
- const normalized = instanceId.trim();
226
- if (!normalized) {
227
- throw new Error("Instance id is required for HostKeyAlias.");
228
- }
229
- return `dvb/instance/${normalized}`;
230
- };
231
- export const resolveMainSshConfigPath = () => mainSshConfigPath();
232
- export const readManagedSshEntries = async () => {
233
- const content = await readTextFile(getManagedSshConfigPath());
234
- return content
235
- ? parseManagedEntries(content)
236
- : new Map();
237
- };
238
- export const ensureSshConfigInclude = async () => {
239
- await ensureDir(mainSshDir());
240
- const filePath = mainSshConfigPath();
241
- const existing = (await readTextFile(filePath)) ?? "";
242
- const block = renderIncludeBlock();
243
- const pattern = includeBlockPattern();
244
- const withoutManagedBlock = existing.replace(pattern, "").replace(/^\n+/, "");
245
- const next = withoutManagedBlock.trim().length
246
- ? `${block}\n\n${withoutManagedBlock.trimStart()}`
247
- : `${block}\n`;
248
- await writeTextFile(filePath, next, 0o600);
249
- return filePath;
250
- };
251
- export const removeSshConfigInclude = async () => {
252
- const filePath = mainSshConfigPath();
253
- const existing = await readTextFile(filePath);
254
- if (existing === null) {
255
- return false;
256
- }
257
- const next = existing
258
- .replace(includeBlockPattern(), "")
259
- .replace(/\n{3,}/g, "\n\n");
260
- if (next === existing) {
261
- return false;
262
- }
263
- await writeTextFile(filePath, next.replace(/^\n+/, ""), 0o600);
264
- return true;
265
- };
266
- export const writeManagedSshEntries = async (entries) => {
267
- await ensureDir(getManagedSshDir());
268
- const existingEntries = await readManagedSshEntries();
269
- const nextEntries = [...entries];
270
- const nextHostKeyAliases = new Set(nextEntries.map((entry) => entry.hostKeyAlias.trim()).filter(Boolean));
271
- const staleHostKeyAliases = new Set();
272
- for (const entry of existingEntries.values()) {
273
- const hostKeyAlias = entry.hostKeyAlias.trim();
274
- if (!hostKeyAlias || nextHostKeyAliases.has(hostKeyAlias)) {
275
- continue;
276
- }
277
- staleHostKeyAliases.add(hostKeyAlias);
278
- }
279
- const filePath = getManagedSshConfigPath();
280
- const rendered = await renderManagedConfig(nextEntries);
281
- await writeTextFile(filePath, rendered, 0o600);
282
- for (const hostKeyAlias of staleHostKeyAliases) {
283
- await removeManagedKnownHost(hostKeyAlias);
284
- }
285
- return filePath;
286
- };
287
- export const upsertManagedSshEntry = async (entry) => {
288
- const entries = await readManagedSshEntries();
289
- entries.set(entry.hostAlias, entry);
290
- await writeManagedSshEntries(entries.values());
291
- };
292
- export const removeManagedSshEntriesForBoxAlias = async (boxAlias) => {
293
- const entries = await readManagedSshEntries();
294
- const removed = [];
295
- for (const [hostAlias, entry] of entries.entries()) {
296
- if (entry.boxAlias !== boxAlias) {
297
- continue;
298
- }
299
- removed.push(entry);
300
- entries.delete(hostAlias);
301
- }
302
- if (removed.length > 0) {
303
- await writeManagedSshEntries(entries.values());
304
- }
305
- return removed;
306
- };
307
- const rewriteKnownHostsWithoutAlias = async (hostKeyAlias) => {
308
- const knownHostsPath = getKnownHostsPath();
309
- const existing = await readTextFile(knownHostsPath);
310
- if (existing === null) {
311
- return false;
312
- }
313
- const next = existing
314
- .split(/\r?\n/)
315
- .filter((line) => {
316
- const normalized = line.trim();
317
- if (!normalized)
318
- return true;
319
- const hostField = normalized.split(/\s+/, 1)[0] ?? "";
320
- if (hostField === hostKeyAlias) {
321
- return false;
322
- }
323
- for (const sshPort of MANAGED_SSH_PORTS) {
324
- if (hostField === `[${hostKeyAlias}]:${String(sshPort)}`) {
325
- return false;
326
- }
327
- }
328
- return true;
329
- })
330
- .join("\n");
331
- if (next === existing) {
332
- return false;
333
- }
334
- await writeTextFile(knownHostsPath, next.replace(/\n?$/, "\n"), 0o600);
335
- return true;
336
- };
337
- export const removeManagedKnownHost = async (hostKeyAlias) => {
338
- const normalized = hostKeyAlias.trim();
339
- if (!normalized) {
340
- return false;
341
- }
342
- const knownHostsPath = getKnownHostsPath();
343
- const result = spawnSync("ssh-keygen", ["-R", normalized, "-f", knownHostsPath], {
344
- stdio: "ignore",
345
- });
346
- let removed = !result.error && result.status === 0;
347
- for (const sshPort of MANAGED_SSH_PORTS) {
348
- const portResult = spawnSync("ssh-keygen", ["-R", `[${normalized}]:${String(sshPort)}`, "-f", knownHostsPath], {
349
- stdio: "ignore",
350
- });
351
- removed = (!portResult.error && portResult.status === 0) || removed;
352
- }
353
- if (removed) {
354
- await ensureFileMode(knownHostsPath, 0o600);
355
- return true;
356
- }
357
- return await rewriteKnownHostsWithoutAlias(normalized);
358
- };
359
- export const removeManagedSshStateForBoxAlias = async (boxAlias) => {
360
- const removedEntries = await removeManagedSshEntriesForBoxAlias(boxAlias);
361
- for (const entry of removedEntries) {
362
- await removeManagedKnownHost(entry.hostKeyAlias);
363
- }
364
- return removedEntries;
365
- };
366
- //# sourceMappingURL=sshConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sshConfig.js","sourceRoot":"","sources":["../../../src/devbox/commands/sshConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAwB,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAgBxB,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAClD,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAChD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AACnD,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAC/C,MAAM,gBAAgB,GAAG,aAAa,CAAC;AACvC,MAAM,qBAAqB,GACzB,mEAAmE,CAAC;AACtE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,qBAAqB,CAAC,SAAS,CAAC;IAChC,qBAAqB,CAAC,KAAK,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAE3E,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;AAE/D,MAAM,SAAS,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;IAC1C,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAE,EAAE;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,EAA0B,EAAE;IACtE,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAClD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EACzB,QAAgB,EAChB,OAAe,EACf,IAAY,EACZ,EAAE;IACF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAA6B,EAAE;IACvE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAY,CAAC;QAC1E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,MAAM,QAAQ,GACZ,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,YAAY,GAChB,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,MAAM,UAAU,GACd,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACpE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;YACvB,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,eAAe,GACnB,MAAM,CAAC,eAAe,KAAK,SAAS;YACpC,MAAM,CAAC,eAAe,KAAK,OAAO;YAClC,MAAM,CAAC,eAAe,KAAK,KAAK;YAC9B,CAAC,CAAC,MAAM,CAAC,eAAe;YACxB,CAAC,CAAC,IAAI,CAAC;QACX,IACE,CAAC,QAAQ;YACT,CAAC,SAAS;YACV,CAAC,YAAY;YACb,CAAC,UAAU;YACX,CAAC,OAAO;YACR,CAAC,eAAe,EAChB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,OAAO,EAAE,CAAC;YACV,QAAQ;YACR,SAAS;YACT,YAAY;YACZ,UAAU;YACV,OAAO;YACP,OAAO;YACP,eAAe;SAChB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAgC,EAAE;IAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAChE,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE;YACpB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,eAAe,EAAE,QAAQ,CAAC,eAAe;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAG,EAAE;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC3C,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAe,EAAE,EAAE;IACpE,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAG;QACX,KAAK;QACL,oBAAoB;QACpB,yBAAyB;QACzB,oBAAoB;QACpB,GAAG,OAAO;QACV,KAAK;QACL,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,MAAM,CAAC,OAAO,CAAC;KAChB,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG;QAChB,SAAS;QACT,IAAI;QACJ,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,YAAY,aAAa,EAAE;KACxD,CAAC;IACF,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EAAE,KAAsB,EAAE,EAAE;IAC/D,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC;IACF,MAAM,KAAK,GAAG;QACZ,GAAG,iBAAiB,GAAG,KAAK,CAAC,SAAS,GAAG;QACzC,GAAG,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QAChD,QAAQ,KAAK,CAAC,SAAS,EAAE;QACzB,cAAc,KAAK,CAAC,QAAQ,EAAE;QAC9B,kBAAkB,KAAK,CAAC,YAAY,EAAE;QACtC,UAAU,KAAK,CAAC,OAAO,EAAE;QACzB,UAAU,MAAM,CAAC,OAAO,CAAC,EAAE;QAC3B,sBAAsB;QACtB,sBAAsB;QACtB,kBAAkB,oBAAoB,EAAE,EAAE;QAC1C,wBAAwB,iBAAiB,EAAE,EAAE;QAC7C,oCAAoC;QACpC,0BAA0B;QAC1B,yBAAyB;QACzB,kBAAkB,YAAY,EAAE;QAChC,GAAG,eAAe,GAAG,KAAK,CAAC,SAAS,GAAG;QACvC,EAAE;KACH,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAAmC,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,OAAO;SACJ,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACpE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,qBAAqB,KAAK,IAAI,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,uBAAuB,EAAE,CAAC;AAE3D,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC9B,CAAC,aAAa,EAAE,WAAW,kBAAkB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE7E,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACtD,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;AAElE,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAC/B,IAAI,MAAM,CACR,GAAG,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,oBAAoB,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,UAAU,EACvI,GAAG,CACJ,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,oBAAoB,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IACtE,OAAO,GAAG,MAAM,GAAG,UAAU,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,UAAkB,EAAE,EAAE;IAC/D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,gBAAgB,UAAU,EAAE,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;AAElE,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;IAC9C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC9D,OAAO,OAAO;QACZ,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAC9B,CAAC,CAAC,IAAI,GAAG,EAA2B,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC/C,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,MAAM;QAC5C,CAAC,CAAC,GAAG,KAAK,OAAO,mBAAmB,CAAC,SAAS,EAAE,EAAE;QAClD,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;IACjB,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC/C,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ;SAClB,OAAO,CAAC,mBAAmB,EAAE,EAAE,EAAE,CAAC;SAClC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,OAAkC,EAClC,EAAE;IACF,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpC,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACjC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACtE,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,SAAS;QACX,CAAC;QACD,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/C,KAAK,MAAM,YAAY,IAAI,mBAAmB,EAAE,CAAC;QAC/C,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,KAAsB,EAAE,EAAE;IACpE,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;IAC3E,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,KAAK,EAAE,YAAoB,EAAE,EAAE;IACnE,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC;IACpD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACxC,IAAI,SAAS,KAAK,IAAI,YAAY,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBACzD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,YAAoB,EAAE,EAAE;IACnE,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CACtB,YAAY,EACZ,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,EACxC;QACE,KAAK,EAAE,QAAQ;KAChB,CACF,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IACnD,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,SAAS,CAC1B,YAAY,EACZ,CAAC,IAAI,EAAE,IAAI,UAAU,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,EAClE;YACE,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;QACF,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,6BAA6B,CAAC,UAAU,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;IACzE,MAAM,cAAc,GAAG,MAAM,kCAAkC,CAAC,QAAQ,CAAC,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const runSshProxy: (args: string[]) => Promise<void>;
2
- //# sourceMappingURL=sshProxy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sshProxy.d.ts","sourceRoot":"","sources":["../../../src/devbox/commands/sshProxy.ts"],"names":[],"mappings":"AAqPA,eAAO,MAAM,WAAW,GAAU,MAAM,MAAM,EAAE,kBAqD/C,CAAC"}
@@ -1,215 +0,0 @@
1
- import { randomUUID } from "node:crypto";
2
- import net from "node:net";
3
- import { createLogger, resolveSocketInfo } from "@boxes-dev/core";
4
- import { DAEMON_TIMEOUT_MS, ensureDaemonRunning, requestJson, requireDaemonFeatures, throwDaemonResponseError, } from "../daemonClient.js";
5
- import { parseCommandArgs, readStringFlag } from "../commandRegistry/args.js";
6
- import { usageError } from "../commandRegistry/errors.js";
7
- const logger = createLogger("devbox-ssh");
8
- const SSH_PROXY_USAGE = "Usage: dvb ssh proxy <box> [--port <port>]";
9
- const parsePort = (raw) => {
10
- if (!raw) {
11
- return 22;
12
- }
13
- const parsed = Number.parseInt(raw, 10);
14
- if (!Number.isInteger(parsed) || parsed < 1 || parsed > 65_535) {
15
- throw usageError(["ssh", "proxy"], `Invalid SSH port: ${raw}`);
16
- }
17
- return parsed;
18
- };
19
- const parseSshProxyArgs = (args) => {
20
- const { flags, positionals } = parseCommandArgs({
21
- args,
22
- commandPath: ["ssh", "proxy"],
23
- flagLabel: "ssh proxy",
24
- string: ["port"],
25
- });
26
- const [box, ...extra] = positionals;
27
- if (!box || extra.length > 0) {
28
- throw usageError(["ssh", "proxy"], SSH_PROXY_USAGE);
29
- }
30
- return {
31
- box: box.trim(),
32
- port: parsePort(readStringFlag(flags, "port") ?? undefined),
33
- };
34
- };
35
- const acquireSshForward = async ({ socketPath, box, port, owner, }) => {
36
- const response = await requestJson(socketPath, "POST", "/ports/forward", DAEMON_TIMEOUT_MS.quick, { box, port, owner });
37
- if (response.status < 200 || response.status >= 300) {
38
- throwDaemonResponseError(response);
39
- }
40
- const localPort = response.body.localPort;
41
- if (typeof localPort !== "number" || !Number.isInteger(localPort)) {
42
- throw new Error("dvbd did not return a local port for SSH proxy.");
43
- }
44
- return localPort;
45
- };
46
- const releaseSshForward = async ({ socketPath, box, port, owner, }) => {
47
- const response = await requestJson(socketPath, "POST", "/ports/stop", DAEMON_TIMEOUT_MS.quick, { box, port, owner });
48
- if (response.status < 200 || response.status >= 300) {
49
- throwDaemonResponseError(response);
50
- }
51
- };
52
- const bridgeProxySocket = async ({ box, localPort, }) => await new Promise((resolve, reject) => {
53
- const socket = net.connect({ host: "127.0.0.1", port: localPort });
54
- const pendingStdin = [];
55
- let connected = false;
56
- let stdinEnded = false;
57
- let settled = false;
58
- const finish = (error) => {
59
- if (settled) {
60
- return;
61
- }
62
- settled = true;
63
- for (const signal of signalHandlers.keys()) {
64
- const handler = signalHandlers.get(signal);
65
- if (handler) {
66
- process.off(signal, handler);
67
- }
68
- }
69
- process.stdin.off("data", handleStdinData);
70
- process.stdin.off("end", handleStdinEnd);
71
- process.stdin.off("error", handleStreamError);
72
- process.stdout.off("drain", handleStdoutDrain);
73
- process.stdout.off("error", handleStreamError);
74
- socket.off("connect", handleConnect);
75
- socket.off("data", handleSocketData);
76
- socket.off("close", handleSocketClose);
77
- socket.off("error", handleSocketError);
78
- socket.off("end", handleSocketEnd);
79
- if (!socket.destroyed) {
80
- socket.destroy();
81
- }
82
- if (error) {
83
- reject(error);
84
- return;
85
- }
86
- resolve();
87
- };
88
- const handleStreamError = (error) => {
89
- const code = error instanceof Error && "code" in error
90
- ? error.code
91
- : undefined;
92
- if (code === "EPIPE") {
93
- finish();
94
- return;
95
- }
96
- finish(error);
97
- };
98
- const handleSocketData = (chunk) => {
99
- if (!process.stdout.write(chunk)) {
100
- socket.pause();
101
- }
102
- };
103
- const handleStdoutDrain = () => {
104
- socket.resume();
105
- };
106
- const handleConnect = () => {
107
- connected = true;
108
- logger.info("ssh_proxy_transport_ready", {
109
- box,
110
- localPort,
111
- });
112
- for (const chunk of pendingStdin) {
113
- socket.write(chunk);
114
- }
115
- pendingStdin.length = 0;
116
- if (stdinEnded) {
117
- socket.end();
118
- }
119
- };
120
- const handleStdinData = (chunk) => {
121
- const bytes = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
122
- if (!connected) {
123
- pendingStdin.push(bytes);
124
- return;
125
- }
126
- socket.write(bytes);
127
- };
128
- const handleStdinEnd = () => {
129
- stdinEnded = true;
130
- if (connected) {
131
- socket.end();
132
- }
133
- };
134
- const handleSocketEnd = () => {
135
- finish();
136
- };
137
- const handleSocketClose = () => {
138
- finish();
139
- };
140
- const handleSocketError = (error) => {
141
- finish(error);
142
- };
143
- const signalHandlers = new Map();
144
- for (const signal of ["SIGINT", "SIGTERM", "SIGHUP"]) {
145
- const handler = () => finish();
146
- signalHandlers.set(signal, handler);
147
- process.on(signal, handler);
148
- }
149
- process.stdin.on("data", handleStdinData);
150
- process.stdin.on("end", handleStdinEnd);
151
- process.stdin.on("error", handleStreamError);
152
- process.stdout.on("drain", handleStdoutDrain);
153
- process.stdout.on("error", handleStreamError);
154
- socket.on("connect", handleConnect);
155
- socket.on("data", handleSocketData);
156
- socket.on("close", handleSocketClose);
157
- socket.on("error", handleSocketError);
158
- socket.on("end", handleSocketEnd);
159
- process.stdin.resume();
160
- });
161
- export const runSshProxy = async (args) => {
162
- const { box, port } = parseSshProxyArgs(args);
163
- const owner = `ssh-proxy:${randomUUID()}`;
164
- const socketInfo = resolveSocketInfo();
165
- logger.info("ssh_proxy_start", {
166
- box,
167
- owner,
168
- path: "/ports/forward",
169
- });
170
- await ensureDaemonRunning(socketInfo.socketPath);
171
- await requireDaemonFeatures(socketInfo.socketPath, ["ports.forward.owners"]);
172
- let localPort = null;
173
- try {
174
- localPort = await acquireSshForward({
175
- socketPath: socketInfo.socketPath,
176
- box,
177
- port,
178
- owner,
179
- });
180
- await bridgeProxySocket({ box, localPort });
181
- logger.info("ssh_proxy_end", {
182
- box,
183
- owner,
184
- localPort,
185
- status: "ok",
186
- });
187
- }
188
- catch (error) {
189
- logger.warn("ssh_proxy_transport_failed", {
190
- box,
191
- owner,
192
- ...(typeof localPort === "number" ? { localPort } : {}),
193
- error: error instanceof Error ? error.message : String(error),
194
- });
195
- throw error;
196
- }
197
- finally {
198
- try {
199
- await releaseSshForward({
200
- socketPath: socketInfo.socketPath,
201
- box,
202
- port,
203
- owner,
204
- });
205
- }
206
- catch (error) {
207
- logger.warn("ssh_proxy_release_failed", {
208
- box,
209
- owner,
210
- error: error instanceof Error ? error.message : String(error),
211
- });
212
- }
213
- }
214
- };
215
- //# sourceMappingURL=sshProxy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sshProxy.js","sourceRoot":"","sources":["../../../src/devbox/commands/sshProxy.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const runUninstall: (args: string[]) => Promise<void>;
2
- //# sourceMappingURL=uninstall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/devbox/commands/uninstall.ts"],"names":[],"mappings":"AA+SA,eAAO,MAAM,YAAY,GAAU,MAAM,MAAM,EAAE,kBAyJhD,CAAC"}