one 1.2.82 → 1.2.84

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 (342) hide show
  1. package/devtools/dev.mjs +44 -0
  2. package/devtools/devtools.mjs +540 -0
  3. package/devtools/source-inspector.mjs +201 -0
  4. package/dist/cjs/cli/daemon.cjs +136 -0
  5. package/dist/cjs/cli/daemon.js +112 -0
  6. package/dist/cjs/cli/daemon.js.map +6 -0
  7. package/dist/cjs/cli/daemon.native.js +173 -0
  8. package/dist/cjs/cli/daemon.native.js.map +1 -0
  9. package/dist/cjs/createHandleRequest.cjs +15 -8
  10. package/dist/cjs/createHandleRequest.js +10 -6
  11. package/dist/cjs/createHandleRequest.js.map +1 -1
  12. package/dist/cjs/createHandleRequest.native.js +8 -3
  13. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  14. package/dist/cjs/daemon/index.cjs +24 -0
  15. package/dist/cjs/daemon/index.js +21 -0
  16. package/dist/cjs/daemon/index.js.map +6 -0
  17. package/dist/cjs/daemon/index.native.js +27 -0
  18. package/dist/cjs/daemon/index.native.js.map +1 -0
  19. package/dist/cjs/daemon/ipc.cjs +235 -0
  20. package/dist/cjs/daemon/ipc.js +204 -0
  21. package/dist/cjs/daemon/ipc.js.map +6 -0
  22. package/dist/cjs/daemon/ipc.native.js +276 -0
  23. package/dist/cjs/daemon/ipc.native.js.map +1 -0
  24. package/dist/cjs/daemon/picker.cjs +223 -0
  25. package/dist/cjs/daemon/picker.js +191 -0
  26. package/dist/cjs/daemon/picker.js.map +6 -0
  27. package/dist/cjs/daemon/picker.native.js +308 -0
  28. package/dist/cjs/daemon/picker.native.js.map +1 -0
  29. package/dist/cjs/daemon/proxy.cjs +75 -0
  30. package/dist/cjs/daemon/proxy.js +70 -0
  31. package/dist/cjs/daemon/proxy.js.map +6 -0
  32. package/dist/cjs/daemon/proxy.native.js +81 -0
  33. package/dist/cjs/daemon/proxy.native.js.map +1 -0
  34. package/dist/cjs/daemon/registry.cjs +85 -0
  35. package/dist/cjs/daemon/registry.js +81 -0
  36. package/dist/cjs/daemon/registry.js.map +6 -0
  37. package/dist/cjs/daemon/registry.native.js +120 -0
  38. package/dist/cjs/daemon/registry.native.js.map +1 -0
  39. package/dist/cjs/daemon/server.cjs +178 -0
  40. package/dist/cjs/daemon/server.js +179 -0
  41. package/dist/cjs/daemon/server.js.map +6 -0
  42. package/dist/cjs/daemon/server.native.js +200 -0
  43. package/dist/cjs/daemon/server.native.js.map +1 -0
  44. package/dist/cjs/daemon/tui.cjs +223 -0
  45. package/dist/cjs/daemon/tui.js +192 -0
  46. package/dist/cjs/daemon/tui.js.map +6 -0
  47. package/dist/cjs/daemon/tui.native.js +234 -0
  48. package/dist/cjs/daemon/tui.native.js.map +1 -0
  49. package/dist/cjs/daemon/types.cjs +16 -0
  50. package/dist/cjs/daemon/types.js +14 -0
  51. package/dist/cjs/daemon/types.js.map +6 -0
  52. package/dist/cjs/daemon/types.native.js +19 -0
  53. package/dist/cjs/daemon/types.native.js.map +1 -0
  54. package/dist/cjs/daemon/utils.cjs +74 -0
  55. package/dist/cjs/daemon/utils.js +65 -0
  56. package/dist/cjs/daemon/utils.js.map +6 -0
  57. package/dist/cjs/daemon/utils.native.js +83 -0
  58. package/dist/cjs/daemon/utils.native.js.map +1 -0
  59. package/dist/cjs/fork/createMemoryHistory.cjs +22 -8
  60. package/dist/cjs/fork/createMemoryHistory.js +20 -6
  61. package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
  62. package/dist/cjs/fork/createMemoryHistory.native.js +22 -8
  63. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  64. package/dist/cjs/fork/useLinking.cjs +52 -13
  65. package/dist/cjs/fork/useLinking.js +35 -10
  66. package/dist/cjs/fork/useLinking.js.map +1 -1
  67. package/dist/cjs/index.cjs +6 -2
  68. package/dist/cjs/index.js +4 -2
  69. package/dist/cjs/index.js.map +2 -2
  70. package/dist/cjs/index.native.js +6 -2
  71. package/dist/cjs/index.native.js.map +1 -1
  72. package/dist/cjs/router/linkingConfig.cjs +13 -2
  73. package/dist/cjs/router/linkingConfig.js +14 -5
  74. package/dist/cjs/router/linkingConfig.js.map +1 -1
  75. package/dist/cjs/router/linkingConfig.native.js +10 -1
  76. package/dist/cjs/router/linkingConfig.native.js.map +1 -1
  77. package/dist/cjs/router/routeMask.cjs +137 -0
  78. package/dist/cjs/router/routeMask.js +127 -0
  79. package/dist/cjs/router/routeMask.js.map +6 -0
  80. package/dist/cjs/router/routeMask.native.js +160 -0
  81. package/dist/cjs/router/routeMask.native.js.map +1 -0
  82. package/dist/cjs/router/router.cjs +26 -3
  83. package/dist/cjs/router/router.js +23 -3
  84. package/dist/cjs/router/router.js.map +1 -1
  85. package/dist/cjs/router/router.native.js +26 -3
  86. package/dist/cjs/router/router.native.js.map +1 -1
  87. package/dist/cjs/router/useScreens.cjs +18 -4
  88. package/dist/cjs/router/useScreens.js +20 -2
  89. package/dist/cjs/router/useScreens.js.map +2 -2
  90. package/dist/cjs/router/useScreens.native.js +16 -0
  91. package/dist/cjs/router/useScreens.native.js.map +1 -1
  92. package/dist/cjs/server/PreloadScripts.native.js +45 -39
  93. package/dist/cjs/server/PreloadScripts.native.js.map +1 -6
  94. package/dist/cjs/ui/TabSlot.cjs +2 -1
  95. package/dist/cjs/ui/TabSlot.js +1 -1
  96. package/dist/cjs/ui/TabSlot.js.map +1 -1
  97. package/dist/cjs/ui/TabSlot.native.js +2 -1
  98. package/dist/cjs/ui/TabSlot.native.js.map +1 -1
  99. package/dist/cjs/ui/Tabs.cjs +8 -4
  100. package/dist/cjs/ui/Tabs.js +8 -4
  101. package/dist/cjs/ui/Tabs.js.map +1 -1
  102. package/dist/cjs/ui/Tabs.native.js +8 -4
  103. package/dist/cjs/ui/Tabs.native.js.map +1 -1
  104. package/dist/cjs/views/Navigator.cjs +13 -12
  105. package/dist/cjs/views/Navigator.js +8 -9
  106. package/dist/cjs/views/Navigator.js.map +1 -1
  107. package/dist/cjs/views/Navigator.native.js +16 -15
  108. package/dist/cjs/views/Navigator.native.js.map +1 -1
  109. package/dist/cjs/vite/DevHead.cjs +2 -909
  110. package/dist/cjs/vite/DevHead.js +1 -917
  111. package/dist/cjs/vite/DevHead.js.map +1 -1
  112. package/dist/cjs/vite/DevHead.native.js +1 -882
  113. package/dist/cjs/vite/DevHead.native.js.map +1 -1
  114. package/dist/cjs/vite/one.cjs +4 -1
  115. package/dist/cjs/vite/one.js +4 -2
  116. package/dist/cjs/vite/one.js.map +1 -1
  117. package/dist/cjs/vite/one.native.js +4 -1
  118. package/dist/cjs/vite/one.native.js.map +1 -1
  119. package/dist/cjs/vite/plugins/devtoolsPlugin.cjs +55 -0
  120. package/dist/cjs/vite/plugins/devtoolsPlugin.js +49 -0
  121. package/dist/cjs/vite/plugins/devtoolsPlugin.js.map +6 -0
  122. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js +58 -0
  123. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -0
  124. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +1 -6
  125. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +1 -6
  126. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  127. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +1 -6
  128. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  129. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +7 -1
  130. package/dist/cjs/vite/plugins/virtualEntryPlugin.js +5 -1
  131. package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
  132. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +8 -1
  133. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  134. package/dist/esm/cli/daemon.js +89 -0
  135. package/dist/esm/cli/daemon.js.map +6 -0
  136. package/dist/esm/cli/daemon.mjs +102 -0
  137. package/dist/esm/cli/daemon.mjs.map +1 -0
  138. package/dist/esm/cli/daemon.native.js +136 -0
  139. package/dist/esm/cli/daemon.native.js.map +1 -0
  140. package/dist/esm/createHandleRequest.js +10 -5
  141. package/dist/esm/createHandleRequest.js.map +1 -1
  142. package/dist/esm/createHandleRequest.mjs +15 -8
  143. package/dist/esm/createHandleRequest.mjs.map +1 -1
  144. package/dist/esm/createHandleRequest.native.js +8 -3
  145. package/dist/esm/createHandleRequest.native.js.map +1 -1
  146. package/dist/esm/daemon/index.js +8 -0
  147. package/dist/esm/daemon/index.js.map +6 -0
  148. package/dist/esm/daemon/index.mjs +8 -0
  149. package/dist/esm/daemon/index.mjs.map +1 -0
  150. package/dist/esm/daemon/index.native.js +8 -0
  151. package/dist/esm/daemon/index.native.js.map +1 -0
  152. package/dist/esm/daemon/ipc.js +192 -0
  153. package/dist/esm/daemon/ipc.js.map +6 -0
  154. package/dist/esm/daemon/ipc.mjs +191 -0
  155. package/dist/esm/daemon/ipc.mjs.map +1 -0
  156. package/dist/esm/daemon/ipc.native.js +229 -0
  157. package/dist/esm/daemon/ipc.native.js.map +1 -0
  158. package/dist/esm/daemon/picker.js +169 -0
  159. package/dist/esm/daemon/picker.js.map +6 -0
  160. package/dist/esm/daemon/picker.mjs +186 -0
  161. package/dist/esm/daemon/picker.mjs.map +1 -0
  162. package/dist/esm/daemon/picker.native.js +268 -0
  163. package/dist/esm/daemon/picker.native.js.map +1 -0
  164. package/dist/esm/daemon/proxy.js +47 -0
  165. package/dist/esm/daemon/proxy.js.map +6 -0
  166. package/dist/esm/daemon/proxy.mjs +40 -0
  167. package/dist/esm/daemon/proxy.mjs.map +1 -0
  168. package/dist/esm/daemon/proxy.native.js +43 -0
  169. package/dist/esm/daemon/proxy.native.js.map +1 -0
  170. package/dist/esm/daemon/registry.js +65 -0
  171. package/dist/esm/daemon/registry.js.map +6 -0
  172. package/dist/esm/daemon/registry.mjs +53 -0
  173. package/dist/esm/daemon/registry.mjs.map +1 -0
  174. package/dist/esm/daemon/registry.native.js +85 -0
  175. package/dist/esm/daemon/registry.native.js.map +1 -0
  176. package/dist/esm/daemon/server.js +167 -0
  177. package/dist/esm/daemon/server.js.map +6 -0
  178. package/dist/esm/daemon/server.mjs +143 -0
  179. package/dist/esm/daemon/server.mjs.map +1 -0
  180. package/dist/esm/daemon/server.native.js +162 -0
  181. package/dist/esm/daemon/server.native.js.map +1 -0
  182. package/dist/esm/daemon/tui.js +171 -0
  183. package/dist/esm/daemon/tui.js.map +6 -0
  184. package/dist/esm/daemon/tui.mjs +187 -0
  185. package/dist/esm/daemon/tui.mjs.map +1 -0
  186. package/dist/esm/daemon/tui.native.js +195 -0
  187. package/dist/esm/daemon/tui.native.js.map +1 -0
  188. package/dist/esm/daemon/types.js +1 -0
  189. package/dist/esm/daemon/types.js.map +6 -0
  190. package/dist/esm/daemon/types.mjs +2 -0
  191. package/dist/esm/daemon/types.mjs.map +1 -0
  192. package/dist/esm/daemon/types.native.js +2 -0
  193. package/dist/esm/daemon/types.native.js.map +1 -0
  194. package/dist/esm/daemon/utils.js +42 -0
  195. package/dist/esm/daemon/utils.js.map +6 -0
  196. package/dist/esm/daemon/utils.mjs +39 -0
  197. package/dist/esm/daemon/utils.mjs.map +1 -0
  198. package/dist/esm/daemon/utils.native.js +45 -0
  199. package/dist/esm/daemon/utils.native.js.map +1 -0
  200. package/dist/esm/fork/createMemoryHistory.js +20 -6
  201. package/dist/esm/fork/createMemoryHistory.js.map +1 -1
  202. package/dist/esm/fork/createMemoryHistory.mjs +22 -8
  203. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  204. package/dist/esm/fork/createMemoryHistory.native.js +22 -8
  205. package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
  206. package/dist/esm/fork/useLinking.js +35 -9
  207. package/dist/esm/fork/useLinking.js.map +1 -1
  208. package/dist/esm/fork/useLinking.mjs +52 -13
  209. package/dist/esm/fork/useLinking.mjs.map +1 -1
  210. package/dist/esm/index.js +4 -0
  211. package/dist/esm/index.js.map +1 -1
  212. package/dist/esm/index.mjs +3 -1
  213. package/dist/esm/index.mjs.map +1 -1
  214. package/dist/esm/index.native.js +3 -1
  215. package/dist/esm/index.native.js.map +1 -1
  216. package/dist/esm/router/linkingConfig.js +14 -4
  217. package/dist/esm/router/linkingConfig.js.map +1 -1
  218. package/dist/esm/router/linkingConfig.mjs +12 -1
  219. package/dist/esm/router/linkingConfig.mjs.map +1 -1
  220. package/dist/esm/router/linkingConfig.native.js +10 -1
  221. package/dist/esm/router/linkingConfig.native.js.map +1 -1
  222. package/dist/esm/router/routeMask.js +111 -0
  223. package/dist/esm/router/routeMask.js.map +6 -0
  224. package/dist/esm/router/routeMask.mjs +108 -0
  225. package/dist/esm/router/routeMask.mjs.map +1 -0
  226. package/dist/esm/router/routeMask.native.js +128 -0
  227. package/dist/esm/router/routeMask.native.js.map +1 -0
  228. package/dist/esm/router/router.js +23 -2
  229. package/dist/esm/router/router.js.map +1 -1
  230. package/dist/esm/router/router.mjs +24 -3
  231. package/dist/esm/router/router.mjs.map +1 -1
  232. package/dist/esm/router/router.native.js +24 -3
  233. package/dist/esm/router/router.native.js.map +1 -1
  234. package/dist/esm/router/useScreens.js +20 -2
  235. package/dist/esm/router/useScreens.js.map +1 -1
  236. package/dist/esm/router/useScreens.mjs +18 -4
  237. package/dist/esm/router/useScreens.mjs.map +1 -1
  238. package/dist/esm/router/useScreens.native.js +16 -0
  239. package/dist/esm/router/useScreens.native.js.map +1 -1
  240. package/dist/esm/server/PreloadScripts.native.js +29 -33
  241. package/dist/esm/server/PreloadScripts.native.js.map +1 -6
  242. package/dist/esm/ui/TabSlot.js +1 -1
  243. package/dist/esm/ui/TabSlot.js.map +1 -1
  244. package/dist/esm/ui/TabSlot.mjs +2 -1
  245. package/dist/esm/ui/TabSlot.mjs.map +1 -1
  246. package/dist/esm/ui/TabSlot.native.js +2 -1
  247. package/dist/esm/ui/TabSlot.native.js.map +1 -1
  248. package/dist/esm/ui/Tabs.js +10 -5
  249. package/dist/esm/ui/Tabs.js.map +1 -1
  250. package/dist/esm/ui/Tabs.mjs +9 -5
  251. package/dist/esm/ui/Tabs.mjs.map +1 -1
  252. package/dist/esm/ui/Tabs.native.js +9 -5
  253. package/dist/esm/ui/Tabs.native.js.map +1 -1
  254. package/dist/esm/views/Navigator.js +8 -9
  255. package/dist/esm/views/Navigator.js.map +1 -1
  256. package/dist/esm/views/Navigator.mjs +13 -12
  257. package/dist/esm/views/Navigator.mjs.map +1 -1
  258. package/dist/esm/views/Navigator.native.js +16 -15
  259. package/dist/esm/views/Navigator.native.js.map +1 -1
  260. package/dist/esm/vite/DevHead.js +1 -917
  261. package/dist/esm/vite/DevHead.js.map +1 -1
  262. package/dist/esm/vite/DevHead.mjs +2 -909
  263. package/dist/esm/vite/DevHead.mjs.map +1 -1
  264. package/dist/esm/vite/DevHead.native.js +0 -881
  265. package/dist/esm/vite/DevHead.native.js.map +1 -1
  266. package/dist/esm/vite/one.js +4 -1
  267. package/dist/esm/vite/one.js.map +1 -1
  268. package/dist/esm/vite/one.mjs +4 -1
  269. package/dist/esm/vite/one.mjs.map +1 -1
  270. package/dist/esm/vite/one.native.js +4 -1
  271. package/dist/esm/vite/one.native.js.map +1 -1
  272. package/dist/esm/vite/plugins/devtoolsPlugin.js +33 -0
  273. package/dist/esm/vite/plugins/devtoolsPlugin.js.map +6 -0
  274. package/dist/esm/vite/plugins/devtoolsPlugin.mjs +31 -0
  275. package/dist/esm/vite/plugins/devtoolsPlugin.mjs.map +1 -0
  276. package/dist/esm/vite/plugins/devtoolsPlugin.native.js +31 -0
  277. package/dist/esm/vite/plugins/devtoolsPlugin.native.js.map +1 -0
  278. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +1 -6
  279. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  280. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +1 -6
  281. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  282. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +1 -6
  283. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  284. package/dist/esm/vite/plugins/virtualEntryPlugin.js +5 -1
  285. package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
  286. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +7 -1
  287. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  288. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +8 -1
  289. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  290. package/package.json +13 -11
  291. package/src/createHandleRequest.ts +16 -3
  292. package/src/fork/createMemoryHistory.tsx +39 -4
  293. package/src/fork/useLinking.ts +83 -12
  294. package/src/index.ts +3 -0
  295. package/src/router/linkingConfig.ts +21 -4
  296. package/src/router/routeMask.ts +293 -0
  297. package/src/router/router.ts +53 -1
  298. package/src/router/useScreens.tsx +54 -2
  299. package/src/ui/TabSlot.tsx +2 -1
  300. package/src/ui/Tabs.tsx +12 -5
  301. package/src/views/Navigator.tsx +14 -9
  302. package/src/vite/DevHead.tsx +1 -924
  303. package/src/vite/one.ts +4 -0
  304. package/src/vite/plugins/devtoolsPlugin.ts +45 -0
  305. package/src/vite/plugins/fileSystemRouterPlugin.tsx +2 -7
  306. package/src/vite/plugins/virtualEntryPlugin.ts +12 -3
  307. package/src/vite/types.ts +1 -0
  308. package/types/cli/daemon.d.ts.map +1 -0
  309. package/types/createHandleRequest.d.ts.map +1 -1
  310. package/types/daemon/index.d.ts.map +1 -0
  311. package/types/daemon/ipc.d.ts.map +1 -0
  312. package/types/daemon/picker.d.ts.map +1 -0
  313. package/types/daemon/proxy.d.ts.map +1 -0
  314. package/types/daemon/registry.d.ts.map +1 -0
  315. package/types/daemon/server.d.ts.map +1 -0
  316. package/types/daemon/tui.d.ts.map +1 -0
  317. package/types/daemon/types.d.ts.map +1 -0
  318. package/types/daemon/utils.d.ts.map +1 -0
  319. package/types/fork/createMemoryHistory.d.ts +6 -2
  320. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  321. package/types/fork/useLinking.d.ts.map +1 -1
  322. package/types/index.d.ts +2 -0
  323. package/types/index.d.ts.map +1 -1
  324. package/types/router/linkingConfig.d.ts.map +1 -1
  325. package/types/router/routeMask.d.ts +130 -0
  326. package/types/router/routeMask.d.ts.map +1 -0
  327. package/types/router/router.d.ts +23 -0
  328. package/types/router/router.d.ts.map +1 -1
  329. package/types/router/useScreens.d.ts.map +1 -1
  330. package/types/ui/TabSlot.d.ts.map +1 -1
  331. package/types/ui/Tabs.d.ts +1 -16
  332. package/types/ui/Tabs.d.ts.map +1 -1
  333. package/types/views/Navigator.d.ts +4 -14
  334. package/types/views/Navigator.d.ts.map +1 -1
  335. package/types/vite/DevHead.d.ts.map +1 -1
  336. package/types/vite/one.d.ts.map +1 -1
  337. package/types/vite/plugins/devtoolsPlugin.d.ts +5 -0
  338. package/types/vite/plugins/devtoolsPlugin.d.ts.map +1 -0
  339. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  340. package/types/vite/plugins/virtualEntryPlugin.d.ts +1 -3
  341. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  342. package/types/vite/types.d.ts.map +1 -1
@@ -0,0 +1,171 @@
1
+ import { getAllServers, setRoute } from "./registry";
2
+ import { getBootedSimulators } from "./picker";
3
+ import { setRouteMode } from "./server";
4
+ import colors from "picocolors";
5
+ const ESC = "\x1B", CSI = `${ESC}[`, cursor = {
6
+ hide: () => process.stdout.write(`${CSI}?25l`),
7
+ show: () => process.stdout.write(`${CSI}?25h`),
8
+ to: (x, y) => process.stdout.write(`${CSI}${y};${x}H`),
9
+ clear: () => process.stdout.write(`${CSI}2J`)
10
+ }, box = {
11
+ tl: "\u250C",
12
+ tr: "\u2510",
13
+ bl: "\u2514",
14
+ br: "\u2518",
15
+ h: "\u2500",
16
+ v: "\u2502",
17
+ arrow: "\u25BA",
18
+ dot: "\u25CF",
19
+ circle: "\u25CB",
20
+ line: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"
21
+ };
22
+ let tuiState = null, daemonState = null, refreshInterval = null, stdinListener = null;
23
+ function getRouteMode() {
24
+ return tuiState?.routeMode || "ask";
25
+ }
26
+ function startTUI(state) {
27
+ daemonState = state, tuiState = {
28
+ simulators: [],
29
+ servers: [],
30
+ routes: /* @__PURE__ */ new Map(),
31
+ selectedCol: 0,
32
+ selectedRow: 0,
33
+ connectingFrom: null,
34
+ routeMode: "most-recent"
35
+ }, cursor.hide(), cursor.clear(), process.stdin.isTTY && process.stdin.setRawMode(!0), process.stdin.resume(), stdinListener = (key) => {
36
+ const str = key.toString();
37
+ if ((str === "" || str === "q") && (stopTUI(), process.exit(0)), !!tuiState) {
38
+ if (str === "\x1B[A")
39
+ tuiState.selectedRow = Math.max(0, tuiState.selectedRow - 1);
40
+ else if (str === "\x1B[B") {
41
+ const max = tuiState.selectedCol === 0 ? tuiState.simulators.length - 1 : tuiState.servers.length - 1;
42
+ tuiState.selectedRow = Math.min(max, tuiState.selectedRow + 1);
43
+ } else if (str === "\x1B[C" || str === "\x1B[D")
44
+ tuiState.selectedCol = tuiState.selectedCol === 0 ? 1 : 0, tuiState.selectedRow = 0, tuiState.connectingFrom = null;
45
+ else if (str === " " || str === "\r")
46
+ handleConnect();
47
+ else if (str === "d")
48
+ handleDisconnect();
49
+ else if (str === "m")
50
+ tuiState.routeMode = tuiState.routeMode === "most-recent" ? "ask" : "most-recent", setRouteMode(tuiState.routeMode);
51
+ else if (str === "b") {
52
+ stopTUI(), console.log(colors.dim("\nDaemon running in background. Use `one daemon status` to check."));
53
+ return;
54
+ } else str === "i" && installLoginItem();
55
+ render();
56
+ }
57
+ }, process.stdin.on("data", stdinListener), refreshInterval = setInterval(refreshData, 500), refreshData();
58
+ }
59
+ function handleConnect() {
60
+ if (!(!tuiState || !daemonState)) {
61
+ if (tuiState.selectedCol === 0) {
62
+ const sim = tuiState.simulators[tuiState.selectedRow];
63
+ sim && (tuiState.connectingFrom = sim.udid, tuiState.selectedCol = 1, tuiState.selectedRow = 0);
64
+ } else if (tuiState.connectingFrom) {
65
+ const server = tuiState.servers[tuiState.selectedRow];
66
+ server && (tuiState.routes.set(tuiState.connectingFrom, server.id), setRoute(daemonState, server.bundleId, server.id), tuiState.connectingFrom = null);
67
+ }
68
+ }
69
+ }
70
+ function handleDisconnect() {
71
+ if (tuiState && tuiState.selectedCol === 0) {
72
+ const sim = tuiState.simulators[tuiState.selectedRow];
73
+ sim && tuiState.routes.delete(sim.udid);
74
+ }
75
+ }
76
+ async function refreshData() {
77
+ !tuiState || !daemonState || (tuiState.simulators = await getBootedSimulators(), tuiState.servers = getAllServers(daemonState), render());
78
+ }
79
+ function render() {
80
+ if (!tuiState) return;
81
+ const width = process.stdout.columns || 80, height = process.stdout.rows || 24;
82
+ cursor.to(1, 1);
83
+ const lines = [], title = " one daemon ", port = ":8081", modeRecent = tuiState.routeMode === "most-recent", modeSwitch = ` [m] ${modeRecent ? colors.green("\u25CF") : colors.dim("\u25CB")} recent ${modeRecent ? colors.dim("\u25CB") : colors.green("\u25CF")} ask `, headerPad = width - title.length - port.length - 22 - 4;
84
+ lines.push(colors.cyan(`${box.tl}${box.h}${title}${box.h.repeat(Math.max(0, headerPad))}`) + modeSwitch + colors.cyan(`${port}${box.h}${box.tr}`)), lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
85
+ const col1 = " SIMULATORS", col2 = "SERVERS", mid = Math.floor(width / 2);
86
+ lines.push(
87
+ colors.cyan(box.v) + colors.bold(colors.dim(col1)) + " ".repeat(mid - col1.length - 2) + colors.bold(colors.dim(col2)) + " ".repeat(width - mid - col2.length - 4) + colors.cyan(box.v)
88
+ ), lines.push(
89
+ colors.cyan(box.v) + colors.dim(" " + "\u2500".repeat(mid - 4)) + " " + colors.dim("\u2500".repeat(width - mid - 4)) + colors.cyan(box.v)
90
+ );
91
+ const maxRows = Math.max(tuiState.simulators.length, tuiState.servers.length, 3);
92
+ for (let i = 0; i < maxRows; i++) {
93
+ const sim = tuiState.simulators[i], server = tuiState.servers[i];
94
+ let simStr = "";
95
+ if (sim) {
96
+ const isSelected = tuiState.selectedCol === 0 && tuiState.selectedRow === i, isConnecting = tuiState.connectingFrom === sim.udid, hasRoute = tuiState.routes.has(sim.udid), dot = hasRoute ? box.dot : box.circle, name = sim.name.slice(0, 16), ver = sim.iosVersion ? ` (${sim.iosVersion})` : "";
97
+ let text = ` ${dot} ${name}${ver}`;
98
+ isSelected && (text = colors.inverse(text)), isConnecting && (text = colors.yellow(text)), hasRoute && (text = colors.green(text)), simStr = text;
99
+ }
100
+ let connStr = " ";
101
+ const simUdid = sim?.udid, connectedServerId = simUdid ? tuiState.routes.get(simUdid) : null;
102
+ connectedServerId && server?.id === connectedServerId ? connStr = colors.green(` ${box.line}${box.arrow} `) : tuiState.connectingFrom === simUdid && (connStr = colors.yellow(` ${box.line}${box.arrow} `));
103
+ let serverStr = "";
104
+ if (server) {
105
+ const isSelected = tuiState.selectedCol === 1 && tuiState.selectedRow === i, hasConnection = [...tuiState.routes.values()].includes(server.id), dot = hasConnection ? box.dot : box.circle, shortRoot = server.root.replace(process.env.HOME || "", "~").slice(0, 18), port2 = `:${server.port}`;
106
+ let text = `${dot} ${shortRoot.padEnd(18)} ${colors.dim(port2)}`;
107
+ isSelected && (text = colors.inverse(text)), hasConnection && (text = colors.green(text)), serverStr = text;
108
+ }
109
+ const simWidth = mid - 6, padSim = Math.max(0, simWidth - stripAnsi(simStr).length), serverWidth = width - mid - 6, padServer = Math.max(0, serverWidth - stripAnsi(serverStr).length);
110
+ lines.push(
111
+ colors.cyan(box.v) + simStr + " ".repeat(padSim) + connStr + serverStr + " ".repeat(padServer) + colors.cyan(box.v)
112
+ );
113
+ }
114
+ const contentHeight = 4 + maxRows, padRows = Math.max(0, height - contentHeight - 4);
115
+ for (let i = 0; i < padRows; i++)
116
+ lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
117
+ lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
118
+ const help1 = " [\u2191\u2193] select [\u2190\u2192] switch [space] connect [d] disconnect", help2 = " [m] mode [b] background [i] install [q] quit";
119
+ lines.push(
120
+ colors.cyan(box.v) + colors.dim(help1) + " ".repeat(Math.max(0, width - help1.length - 4)) + colors.cyan(box.v)
121
+ ), lines.push(
122
+ colors.cyan(box.v) + colors.dim(help2) + " ".repeat(Math.max(0, width - help2.length - 4)) + colors.cyan(box.v)
123
+ ), lines.push(colors.cyan(`${box.bl}${box.h.repeat(width - 4)}${box.br}`)), process.stdout.write(lines.join(`
124
+ `));
125
+ }
126
+ function stripAnsi(str) {
127
+ return str.replace(/\x1b\[[0-9;]*m/g, "");
128
+ }
129
+ async function installLoginItem() {
130
+ if (process.platform !== "darwin")
131
+ return;
132
+ const { exec } = await import("node:child_process"), { promisify } = await import("node:util"), execAsync = promisify(exec), onePath = process.argv[1] || "npx one", script = `
133
+ tell application "System Events"
134
+ make login item at end with properties {path:"${onePath}", name:"one daemon", hidden:true}
135
+ end tell
136
+ `;
137
+ try {
138
+ await execAsync(`osascript -e '${script}'`), console.log(colors.green(`
139
+ \u2713 Added to login items`));
140
+ } catch {
141
+ const plist = `<?xml version="1.0" encoding="UTF-8"?>
142
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
143
+ <plist version="1.0">
144
+ <dict>
145
+ <key>Label</key>
146
+ <string>com.one.daemon</string>
147
+ <key>ProgramArguments</key>
148
+ <array>
149
+ <string>${onePath}</string>
150
+ <string>daemon</string>
151
+ <string>--tui=false</string>
152
+ </array>
153
+ <key>RunAtLoad</key>
154
+ <true/>
155
+ <key>KeepAlive</key>
156
+ <false/>
157
+ </dict>
158
+ </plist>`, fs = await import("node:fs"), path = await import("node:path"), os = await import("node:os"), plistPath = path.join(os.homedir(), "Library", "LaunchAgents", "com.one.daemon.plist");
159
+ fs.writeFileSync(plistPath, plist), await execAsync(`launchctl load ${plistPath}`), console.log(colors.green(`
160
+ \u2713 Installed as launchd agent`));
161
+ }
162
+ }
163
+ function stopTUI() {
164
+ refreshInterval && (clearInterval(refreshInterval), refreshInterval = null), stdinListener && (process.stdin.removeListener("data", stdinListener), stdinListener = null), cursor.show(), cursor.clear(), cursor.to(1, 1), process.stdin.isTTY && process.stdin.setRawMode(!1), tuiState = null, daemonState = null;
165
+ }
166
+ export {
167
+ getRouteMode,
168
+ startTUI,
169
+ stopTUI
170
+ };
171
+ //# sourceMappingURL=tui.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/daemon/tui.ts"],
4
+ "mappings": "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",
5
+ "names": ["port"]
6
+ }
@@ -0,0 +1,187 @@
1
+ import { getAllServers, setRoute } from "./registry.mjs";
2
+ import { getBootedSimulators } from "./picker.mjs";
3
+ import { setRouteMode } from "./server.mjs";
4
+ import colors from "picocolors";
5
+ const ESC = "\x1B",
6
+ CSI = `${ESC}[`,
7
+ cursor = {
8
+ hide: () => process.stdout.write(`${CSI}?25l`),
9
+ show: () => process.stdout.write(`${CSI}?25h`),
10
+ to: (x, y) => process.stdout.write(`${CSI}${y};${x}H`),
11
+ clear: () => process.stdout.write(`${CSI}2J`)
12
+ },
13
+ box = {
14
+ tl: "\u250C",
15
+ tr: "\u2510",
16
+ bl: "\u2514",
17
+ br: "\u2518",
18
+ h: "\u2500",
19
+ v: "\u2502",
20
+ arrow: "\u25BA",
21
+ dot: "\u25CF",
22
+ circle: "\u25CB",
23
+ line: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"
24
+ };
25
+ let tuiState = null,
26
+ daemonState = null,
27
+ refreshInterval = null,
28
+ stdinListener = null;
29
+ function getRouteMode() {
30
+ return tuiState?.routeMode || "ask";
31
+ }
32
+ function startTUI(state) {
33
+ daemonState = state, tuiState = {
34
+ simulators: [],
35
+ servers: [],
36
+ routes: /* @__PURE__ */new Map(),
37
+ selectedCol: 0,
38
+ selectedRow: 0,
39
+ connectingFrom: null,
40
+ routeMode: "most-recent"
41
+ }, cursor.hide(), cursor.clear(), process.stdin.isTTY && process.stdin.setRawMode(!0), process.stdin.resume(), stdinListener = key => {
42
+ const str = key.toString();
43
+ if ((str === "" || str === "q") && (stopTUI(), process.exit(0)), !!tuiState) {
44
+ if (str === "\x1B[A") tuiState.selectedRow = Math.max(0, tuiState.selectedRow - 1);else if (str === "\x1B[B") {
45
+ const max = tuiState.selectedCol === 0 ? tuiState.simulators.length - 1 : tuiState.servers.length - 1;
46
+ tuiState.selectedRow = Math.min(max, tuiState.selectedRow + 1);
47
+ } else if (str === "\x1B[C" || str === "\x1B[D") tuiState.selectedCol = tuiState.selectedCol === 0 ? 1 : 0, tuiState.selectedRow = 0, tuiState.connectingFrom = null;else if (str === " " || str === "\r") handleConnect();else if (str === "d") handleDisconnect();else if (str === "m") tuiState.routeMode = tuiState.routeMode === "most-recent" ? "ask" : "most-recent", setRouteMode(tuiState.routeMode);else if (str === "b") {
48
+ stopTUI(), console.log(colors.dim("\nDaemon running in background. Use `one daemon status` to check."));
49
+ return;
50
+ } else str === "i" && installLoginItem();
51
+ render();
52
+ }
53
+ }, process.stdin.on("data", stdinListener), refreshInterval = setInterval(refreshData, 500), refreshData();
54
+ }
55
+ function handleConnect() {
56
+ if (!(!tuiState || !daemonState)) {
57
+ if (tuiState.selectedCol === 0) {
58
+ const sim = tuiState.simulators[tuiState.selectedRow];
59
+ sim && (tuiState.connectingFrom = sim.udid, tuiState.selectedCol = 1, tuiState.selectedRow = 0);
60
+ } else if (tuiState.connectingFrom) {
61
+ const server = tuiState.servers[tuiState.selectedRow];
62
+ server && (tuiState.routes.set(tuiState.connectingFrom, server.id), setRoute(daemonState, server.bundleId, server.id), tuiState.connectingFrom = null);
63
+ }
64
+ }
65
+ }
66
+ function handleDisconnect() {
67
+ if (tuiState && tuiState.selectedCol === 0) {
68
+ const sim = tuiState.simulators[tuiState.selectedRow];
69
+ sim && tuiState.routes.delete(sim.udid);
70
+ }
71
+ }
72
+ async function refreshData() {
73
+ !tuiState || !daemonState || (tuiState.simulators = await getBootedSimulators(), tuiState.servers = getAllServers(daemonState), render());
74
+ }
75
+ function render() {
76
+ if (!tuiState) return;
77
+ const width = process.stdout.columns || 80,
78
+ height = process.stdout.rows || 24;
79
+ cursor.to(1, 1);
80
+ const lines = [],
81
+ title = " one daemon ",
82
+ port = ":8081",
83
+ modeRecent = tuiState.routeMode === "most-recent",
84
+ modeSwitch = ` [m] ${modeRecent ? colors.green("\u25CF") : colors.dim("\u25CB")} recent ${modeRecent ? colors.dim("\u25CB") : colors.green("\u25CF")} ask `,
85
+ headerPad = width - title.length - port.length - 22 - 4;
86
+ lines.push(colors.cyan(`${box.tl}${box.h}${title}${box.h.repeat(Math.max(0, headerPad))}`) + modeSwitch + colors.cyan(`${port}${box.h}${box.tr}`)), lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
87
+ const col1 = " SIMULATORS",
88
+ col2 = "SERVERS",
89
+ mid = Math.floor(width / 2);
90
+ lines.push(colors.cyan(box.v) + colors.bold(colors.dim(col1)) + " ".repeat(mid - col1.length - 2) + colors.bold(colors.dim(col2)) + " ".repeat(width - mid - col2.length - 4) + colors.cyan(box.v)), lines.push(colors.cyan(box.v) + colors.dim(" " + "\u2500".repeat(mid - 4)) + " " + colors.dim("\u2500".repeat(width - mid - 4)) + colors.cyan(box.v));
91
+ const maxRows = Math.max(tuiState.simulators.length, tuiState.servers.length, 3);
92
+ for (let i = 0; i < maxRows; i++) {
93
+ const sim = tuiState.simulators[i],
94
+ server = tuiState.servers[i];
95
+ let simStr = "";
96
+ if (sim) {
97
+ const isSelected = tuiState.selectedCol === 0 && tuiState.selectedRow === i,
98
+ isConnecting = tuiState.connectingFrom === sim.udid,
99
+ hasRoute = tuiState.routes.has(sim.udid),
100
+ dot = hasRoute ? box.dot : box.circle,
101
+ name = sim.name.slice(0, 16),
102
+ ver = sim.iosVersion ? ` (${sim.iosVersion})` : "";
103
+ let text = ` ${dot} ${name}${ver}`;
104
+ isSelected && (text = colors.inverse(text)), isConnecting && (text = colors.yellow(text)), hasRoute && (text = colors.green(text)), simStr = text;
105
+ }
106
+ let connStr = " ";
107
+ const simUdid = sim?.udid,
108
+ connectedServerId = simUdid ? tuiState.routes.get(simUdid) : null;
109
+ connectedServerId && server?.id === connectedServerId ? connStr = colors.green(` ${box.line}${box.arrow} `) : tuiState.connectingFrom === simUdid && (connStr = colors.yellow(` ${box.line}${box.arrow} `));
110
+ let serverStr = "";
111
+ if (server) {
112
+ const isSelected = tuiState.selectedCol === 1 && tuiState.selectedRow === i,
113
+ hasConnection = [...tuiState.routes.values()].includes(server.id),
114
+ dot = hasConnection ? box.dot : box.circle,
115
+ shortRoot = server.root.replace(process.env.HOME || "", "~").slice(0, 18),
116
+ port2 = `:${server.port}`;
117
+ let text = `${dot} ${shortRoot.padEnd(18)} ${colors.dim(port2)}`;
118
+ isSelected && (text = colors.inverse(text)), hasConnection && (text = colors.green(text)), serverStr = text;
119
+ }
120
+ const simWidth = mid - 6,
121
+ padSim = Math.max(0, simWidth - stripAnsi(simStr).length),
122
+ serverWidth = width - mid - 6,
123
+ padServer = Math.max(0, serverWidth - stripAnsi(serverStr).length);
124
+ lines.push(colors.cyan(box.v) + simStr + " ".repeat(padSim) + connStr + serverStr + " ".repeat(padServer) + colors.cyan(box.v));
125
+ }
126
+ const contentHeight = 4 + maxRows,
127
+ padRows = Math.max(0, height - contentHeight - 4);
128
+ for (let i = 0; i < padRows; i++) lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
129
+ lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
130
+ const help1 = " [\u2191\u2193] select [\u2190\u2192] switch [space] connect [d] disconnect",
131
+ help2 = " [m] mode [b] background [i] install [q] quit";
132
+ lines.push(colors.cyan(box.v) + colors.dim(help1) + " ".repeat(Math.max(0, width - help1.length - 4)) + colors.cyan(box.v)), lines.push(colors.cyan(box.v) + colors.dim(help2) + " ".repeat(Math.max(0, width - help2.length - 4)) + colors.cyan(box.v)), lines.push(colors.cyan(`${box.bl}${box.h.repeat(width - 4)}${box.br}`)), process.stdout.write(lines.join(`
133
+ `));
134
+ }
135
+ function stripAnsi(str) {
136
+ return str.replace(/\x1b\[[0-9;]*m/g, "");
137
+ }
138
+ async function installLoginItem() {
139
+ if (process.platform !== "darwin") return;
140
+ const {
141
+ exec
142
+ } = await import("node:child_process"),
143
+ {
144
+ promisify
145
+ } = await import("node:util"),
146
+ execAsync = promisify(exec),
147
+ onePath = process.argv[1] || "npx one",
148
+ script = `
149
+ tell application "System Events"
150
+ make login item at end with properties {path:"${onePath}", name:"one daemon", hidden:true}
151
+ end tell
152
+ `;
153
+ try {
154
+ await execAsync(`osascript -e '${script}'`), console.log(colors.green(`
155
+ \u2713 Added to login items`));
156
+ } catch {
157
+ const plist = `<?xml version="1.0" encoding="UTF-8"?>
158
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
159
+ <plist version="1.0">
160
+ <dict>
161
+ <key>Label</key>
162
+ <string>com.one.daemon</string>
163
+ <key>ProgramArguments</key>
164
+ <array>
165
+ <string>${onePath}</string>
166
+ <string>daemon</string>
167
+ <string>--tui=false</string>
168
+ </array>
169
+ <key>RunAtLoad</key>
170
+ <true/>
171
+ <key>KeepAlive</key>
172
+ <false/>
173
+ </dict>
174
+ </plist>`,
175
+ fs = await import("node:fs"),
176
+ path = await import("node:path"),
177
+ os = await import("node:os"),
178
+ plistPath = path.join(os.homedir(), "Library", "LaunchAgents", "com.one.daemon.plist");
179
+ fs.writeFileSync(plistPath, plist), await execAsync(`launchctl load ${plistPath}`), console.log(colors.green(`
180
+ \u2713 Installed as launchd agent`));
181
+ }
182
+ }
183
+ function stopTUI() {
184
+ refreshInterval && (clearInterval(refreshInterval), refreshInterval = null), stdinListener && (process.stdin.removeListener("data", stdinListener), stdinListener = null), cursor.show(), cursor.clear(), cursor.to(1, 1), process.stdin.isTTY && process.stdin.setRawMode(!1), tuiState = null, daemonState = null;
185
+ }
186
+ export { getRouteMode, startTUI, stopTUI };
187
+ //# sourceMappingURL=tui.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAllServers","setRoute","getBootedSimulators","setRouteMode","colors","ESC","CSI","cursor","hide","process","stdout","write","show","to","x","y","clear","box","tl","tr","bl","br","h","v","arrow","dot","circle","line","tuiState","daemonState","refreshInterval","stdinListener","getRouteMode","routeMode","startTUI","state","simulators","servers","routes","Map","selectedCol","selectedRow","connectingFrom","stdin","isTTY","setRawMode","resume","key","str","toString","stopTUI","exit","Math","max","length","min","handleConnect","handleDisconnect","console","log","dim","installLoginItem","render","on","setInterval","refreshData","sim","udid","server","set","id","bundleId","delete","width","columns","height","rows","lines","title","port","modeRecent","modeSwitch","green","headerPad","push","cyan","repeat","col1","col2","mid","floor","bold","maxRows","i","simStr","isSelected","isConnecting","hasRoute","has","name","slice","ver","iosVersion","text","inverse","yellow","connStr","simUdid","connectedServerId","get","serverStr","hasConnection","values","includes","shortRoot","root","replace","env","HOME","port2","padEnd","simWidth","padSim","stripAnsi","serverWidth","padServer","contentHeight","padRows","help1","help2","join","platform","exec","promisify","execAsync","onePath","argv","script","plist","fs","path","os","plistPath","homedir","writeFileSync","clearInterval","removeListener"],"sources":["../../../src/daemon/tui.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,195 @@
1
+ import { getAllServers, setRoute } from "./registry.native.js";
2
+ import { getBootedSimulators } from "./picker.native.js";
3
+ import { setRouteMode } from "./server.native.js";
4
+ import colors from "picocolors";
5
+ var ESC = "\x1B",
6
+ CSI = `${ESC}[`,
7
+ cursor = {
8
+ hide: function () {
9
+ return process.stdout.write(`${CSI}?25l`);
10
+ },
11
+ show: function () {
12
+ return process.stdout.write(`${CSI}?25h`);
13
+ },
14
+ to: function (x, y) {
15
+ return process.stdout.write(`${CSI}${y};${x}H`);
16
+ },
17
+ clear: function () {
18
+ return process.stdout.write(`${CSI}2J`);
19
+ }
20
+ },
21
+ box = {
22
+ tl: "\u250C",
23
+ tr: "\u2510",
24
+ bl: "\u2514",
25
+ br: "\u2518",
26
+ h: "\u2500",
27
+ v: "\u2502",
28
+ arrow: "\u25BA",
29
+ dot: "\u25CF",
30
+ circle: "\u25CB",
31
+ line: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"
32
+ },
33
+ tuiState = null,
34
+ daemonState = null,
35
+ refreshInterval = null,
36
+ stdinListener = null;
37
+ function getRouteMode() {
38
+ return tuiState?.routeMode || "ask";
39
+ }
40
+ function startTUI(state) {
41
+ daemonState = state, tuiState = {
42
+ simulators: [],
43
+ servers: [],
44
+ routes: /* @__PURE__ */new Map(),
45
+ selectedCol: 0,
46
+ selectedRow: 0,
47
+ connectingFrom: null,
48
+ routeMode: "most-recent"
49
+ }, cursor.hide(), cursor.clear(), process.stdin.isTTY && process.stdin.setRawMode(!0), process.stdin.resume(), stdinListener = function (key) {
50
+ var str = key.toString();
51
+ if ((str === "" || str === "q") && (stopTUI(), process.exit(0)), !!tuiState) {
52
+ if (str === "\x1B[A") tuiState.selectedRow = Math.max(0, tuiState.selectedRow - 1);else if (str === "\x1B[B") {
53
+ var max = tuiState.selectedCol === 0 ? tuiState.simulators.length - 1 : tuiState.servers.length - 1;
54
+ tuiState.selectedRow = Math.min(max, tuiState.selectedRow + 1);
55
+ } else if (str === "\x1B[C" || str === "\x1B[D") tuiState.selectedCol = tuiState.selectedCol === 0 ? 1 : 0, tuiState.selectedRow = 0, tuiState.connectingFrom = null;else if (str === " " || str === "\r") handleConnect();else if (str === "d") handleDisconnect();else if (str === "m") tuiState.routeMode = tuiState.routeMode === "most-recent" ? "ask" : "most-recent", setRouteMode(tuiState.routeMode);else if (str === "b") {
56
+ stopTUI(), console.log(colors.dim("\nDaemon running in background. Use `one daemon status` to check."));
57
+ return;
58
+ } else str === "i" && installLoginItem();
59
+ render();
60
+ }
61
+ }, process.stdin.on("data", stdinListener), refreshInterval = setInterval(refreshData, 500), refreshData();
62
+ }
63
+ function handleConnect() {
64
+ if (!(!tuiState || !daemonState)) {
65
+ if (tuiState.selectedCol === 0) {
66
+ var sim = tuiState.simulators[tuiState.selectedRow];
67
+ sim && (tuiState.connectingFrom = sim.udid, tuiState.selectedCol = 1, tuiState.selectedRow = 0);
68
+ } else if (tuiState.connectingFrom) {
69
+ var server = tuiState.servers[tuiState.selectedRow];
70
+ server && (tuiState.routes.set(tuiState.connectingFrom, server.id), setRoute(daemonState, server.bundleId, server.id), tuiState.connectingFrom = null);
71
+ }
72
+ }
73
+ }
74
+ function handleDisconnect() {
75
+ if (tuiState && tuiState.selectedCol === 0) {
76
+ var sim = tuiState.simulators[tuiState.selectedRow];
77
+ sim && tuiState.routes.delete(sim.udid);
78
+ }
79
+ }
80
+ async function refreshData() {
81
+ !tuiState || !daemonState || (tuiState.simulators = await getBootedSimulators(), tuiState.servers = getAllServers(daemonState), render());
82
+ }
83
+ function render() {
84
+ if (tuiState) {
85
+ var width = process.stdout.columns || 80,
86
+ height = process.stdout.rows || 24;
87
+ cursor.to(1, 1);
88
+ var lines = [],
89
+ title = " one daemon ",
90
+ port = ":8081",
91
+ modeRecent = tuiState.routeMode === "most-recent",
92
+ modeSwitch = ` [m] ${modeRecent ? colors.green("\u25CF") : colors.dim("\u25CB")} recent ${modeRecent ? colors.dim("\u25CB") : colors.green("\u25CF")} ask `,
93
+ modeSwitchLen = 22,
94
+ headerPad = width - title.length - port.length - modeSwitchLen - 4;
95
+ lines.push(colors.cyan(`${box.tl}${box.h}${title}${box.h.repeat(Math.max(0, headerPad))}`) + modeSwitch + colors.cyan(`${port}${box.h}${box.tr}`)), lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
96
+ var col1 = " SIMULATORS",
97
+ col2 = "SERVERS",
98
+ mid = Math.floor(width / 2);
99
+ lines.push(colors.cyan(box.v) + colors.bold(colors.dim(col1)) + " ".repeat(mid - col1.length - 2) + colors.bold(colors.dim(col2)) + " ".repeat(width - mid - col2.length - 4) + colors.cyan(box.v)), lines.push(colors.cyan(box.v) + colors.dim(" " + "\u2500".repeat(mid - 4)) + " " + colors.dim("\u2500".repeat(width - mid - 4)) + colors.cyan(box.v));
100
+ for (var maxRows = Math.max(tuiState.simulators.length, tuiState.servers.length, 3), i = 0; i < maxRows; i++) {
101
+ var sim = tuiState.simulators[i],
102
+ server = tuiState.servers[i],
103
+ simStr = "";
104
+ if (sim) {
105
+ var isSelected = tuiState.selectedCol === 0 && tuiState.selectedRow === i,
106
+ isConnecting = tuiState.connectingFrom === sim.udid,
107
+ hasRoute = tuiState.routes.has(sim.udid),
108
+ dot = hasRoute ? box.dot : box.circle,
109
+ name = sim.name.slice(0, 16),
110
+ ver = sim.iosVersion ? ` (${sim.iosVersion})` : "",
111
+ text = ` ${dot} ${name}${ver}`;
112
+ isSelected && (text = colors.inverse(text)), isConnecting && (text = colors.yellow(text)), hasRoute && (text = colors.green(text)), simStr = text;
113
+ }
114
+ var connStr = " ",
115
+ simUdid = sim?.udid,
116
+ connectedServerId = simUdid ? tuiState.routes.get(simUdid) : null;
117
+ connectedServerId && server?.id === connectedServerId ? connStr = colors.green(` ${box.line}${box.arrow} `) : tuiState.connectingFrom === simUdid && (connStr = colors.yellow(` ${box.line}${box.arrow} `));
118
+ var serverStr = "";
119
+ if (server) {
120
+ var isSelected1 = tuiState.selectedCol === 1 && tuiState.selectedRow === i,
121
+ hasConnection = [...tuiState.routes.values()].includes(server.id),
122
+ dot1 = hasConnection ? box.dot : box.circle,
123
+ shortRoot = server.root.replace(process.env.HOME || "", "~").slice(0, 18),
124
+ port1 = `:${server.port}`,
125
+ text1 = `${dot1} ${shortRoot.padEnd(18)} ${colors.dim(port1)}`;
126
+ isSelected1 && (text1 = colors.inverse(text1)), hasConnection && (text1 = colors.green(text1)), serverStr = text1;
127
+ }
128
+ var simWidth = mid - 6,
129
+ padSim = Math.max(0, simWidth - stripAnsi(simStr).length),
130
+ serverWidth = width - mid - 6,
131
+ padServer = Math.max(0, serverWidth - stripAnsi(serverStr).length);
132
+ lines.push(colors.cyan(box.v) + simStr + " ".repeat(padSim) + connStr + serverStr + " ".repeat(padServer) + colors.cyan(box.v));
133
+ }
134
+ for (var contentHeight = 4 + maxRows, padRows = Math.max(0, height - contentHeight - 4), i1 = 0; i1 < padRows; i1++) lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
135
+ lines.push(colors.cyan(box.v) + " ".repeat(width - 4) + colors.cyan(box.v));
136
+ var help1 = " [\u2191\u2193] select [\u2190\u2192] switch [space] connect [d] disconnect",
137
+ help2 = " [m] mode [b] background [i] install [q] quit";
138
+ lines.push(colors.cyan(box.v) + colors.dim(help1) + " ".repeat(Math.max(0, width - help1.length - 4)) + colors.cyan(box.v)), lines.push(colors.cyan(box.v) + colors.dim(help2) + " ".repeat(Math.max(0, width - help2.length - 4)) + colors.cyan(box.v)), lines.push(colors.cyan(`${box.bl}${box.h.repeat(width - 4)}${box.br}`)), process.stdout.write(lines.join(`
139
+ `));
140
+ }
141
+ }
142
+ function stripAnsi(str) {
143
+ return str.replace(/\x1b\[[0-9;]*m/g, "");
144
+ }
145
+ async function installLoginItem() {
146
+ if (process.platform === "darwin") {
147
+ var {
148
+ exec
149
+ } = await import("child_process"),
150
+ {
151
+ promisify
152
+ } = await import("util"),
153
+ execAsync = promisify(exec),
154
+ onePath = process.argv[1] || "npx one",
155
+ script = `
156
+ tell application "System Events"
157
+ make login item at end with properties {path:"${onePath}", name:"one daemon", hidden:true}
158
+ end tell
159
+ `;
160
+ try {
161
+ await execAsync(`osascript -e '${script}'`), console.log(colors.green(`
162
+ \u2713 Added to login items`));
163
+ } catch {
164
+ var plist = `<?xml version="1.0" encoding="UTF-8"?>
165
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
166
+ <plist version="1.0">
167
+ <dict>
168
+ <key>Label</key>
169
+ <string>com.one.daemon</string>
170
+ <key>ProgramArguments</key>
171
+ <array>
172
+ <string>${onePath}</string>
173
+ <string>daemon</string>
174
+ <string>--tui=false</string>
175
+ </array>
176
+ <key>RunAtLoad</key>
177
+ <true/>
178
+ <key>KeepAlive</key>
179
+ <false/>
180
+ </dict>
181
+ </plist>`,
182
+ fs = await import("fs"),
183
+ path = await import("path"),
184
+ os = await import("os"),
185
+ plistPath = path.join(os.homedir(), "Library", "LaunchAgents", "com.one.daemon.plist");
186
+ fs.writeFileSync(plistPath, plist), await execAsync(`launchctl load ${plistPath}`), console.log(colors.green(`
187
+ \u2713 Installed as launchd agent`));
188
+ }
189
+ }
190
+ }
191
+ function stopTUI() {
192
+ refreshInterval && (clearInterval(refreshInterval), refreshInterval = null), stdinListener && (process.stdin.removeListener("data", stdinListener), stdinListener = null), cursor.show(), cursor.clear(), cursor.to(1, 1), process.stdin.isTTY && process.stdin.setRawMode(!1), tuiState = null, daemonState = null;
193
+ }
194
+ export { getRouteMode, startTUI, stopTUI };
195
+ //# sourceMappingURL=tui.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAllServers","setRoute","getBootedSimulators","setRouteMode","colors","ESC","CSI","cursor","hide","process","stdout","write","show","to","x","y","clear","box","tl","tr","bl","br","h","v","arrow","dot","circle","line","tuiState","daemonState","refreshInterval","stdinListener","getRouteMode","routeMode","startTUI","state","simulators","servers","routes","Map","selectedCol","selectedRow","connectingFrom","stdin","isTTY","setRawMode","resume","key","str","toString","stopTUI","exit","Math","max","length","min","handleConnect","handleDisconnect","console","log","dim","installLoginItem","render","on","setInterval","refreshData","sim","udid","server","set","id","bundleId","delete","width","columns","height","rows","lines","title","port","modeRecent","modeSwitch","green","modeSwitchLen","headerPad","push","cyan","repeat","col1","col2","mid","floor","bold","maxRows","i","simStr","isSelected","isConnecting","hasRoute","has","name","slice","ver","iosVersion","text","inverse","yellow","connStr","simUdid","connectedServerId","get","serverStr","isSelected1","hasConnection","values","includes","dot1","shortRoot","root","replace","env","HOME","port1","text1","padEnd","simWidth","padSim","stripAnsi","serverWidth","padServer","contentHeight","padRows","i1","help1","help2","join","platform","exec","promisify","execAsync","onePath","argv","script","plist","fs","path","os","plistPath","homedir","writeFileSync","clearInterval","removeListener"],"sources":["../../../src/daemon/tui.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "mappings": "",
5
+ "names": []
6
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map