wherdr 2.4.0 → 2.6.0

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 (287) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{CPlkxpge.js → 2fsYF-LK.js} +41 -41
  3. package/.output/public/_nuxt/2fsYF-LK.js.br +0 -0
  4. package/.output/public/_nuxt/2fsYF-LK.js.gz +0 -0
  5. package/.output/public/_nuxt/{CV6ukk-M.js → 3bE7s96N.js} +1 -1
  6. package/.output/public/_nuxt/6YTlf8ot.js +1 -0
  7. package/.output/public/_nuxt/6YTlf8ot.js.br +0 -0
  8. package/.output/public/_nuxt/6YTlf8ot.js.gz +0 -0
  9. package/.output/public/_nuxt/{BYZVrreW.js → 7KozZy5Y.js} +1 -1
  10. package/.output/public/_nuxt/AgentView.BwyQIUef.css +1 -0
  11. package/.output/public/_nuxt/AgentView.BwyQIUef.css.br +0 -0
  12. package/.output/public/_nuxt/AgentView.BwyQIUef.css.gz +0 -0
  13. package/.output/public/_nuxt/{BdJIc1Xf.js → B40shTLf.js} +1 -1
  14. package/.output/public/_nuxt/{BdJIc1Xf.js.br → B40shTLf.js.br} +0 -0
  15. package/.output/public/_nuxt/B40shTLf.js.gz +0 -0
  16. package/.output/public/_nuxt/B5cSia3P.js +62 -0
  17. package/.output/public/_nuxt/B5cSia3P.js.br +0 -0
  18. package/.output/public/_nuxt/B5cSia3P.js.gz +0 -0
  19. package/.output/public/_nuxt/BK1_9FXg.js +1 -0
  20. package/.output/public/_nuxt/BK1_9FXg.js.br +0 -0
  21. package/.output/public/_nuxt/BK1_9FXg.js.gz +0 -0
  22. package/.output/public/_nuxt/{CgUSTIM1.js → Bqz3nVVB.js} +1 -1
  23. package/.output/public/_nuxt/{CgUSTIM1.js.br → Bqz3nVVB.js.br} +0 -0
  24. package/.output/public/_nuxt/Bqz3nVVB.js.gz +0 -0
  25. package/.output/public/_nuxt/{B2KlcBQ-.js → ByLPJEo6.js} +1 -1
  26. package/.output/public/_nuxt/ByLPJEo6.js.br +0 -0
  27. package/.output/public/_nuxt/ByLPJEo6.js.gz +0 -0
  28. package/.output/public/_nuxt/C8tHIeGN.js +3 -0
  29. package/.output/public/_nuxt/C8tHIeGN.js.br +0 -0
  30. package/.output/public/_nuxt/C8tHIeGN.js.gz +0 -0
  31. package/.output/public/_nuxt/CAkH_IfS.js +9 -0
  32. package/.output/public/_nuxt/CAkH_IfS.js.br +0 -0
  33. package/.output/public/_nuxt/CAkH_IfS.js.gz +0 -0
  34. package/.output/public/_nuxt/COWXF9OU.js +123 -0
  35. package/.output/public/_nuxt/COWXF9OU.js.br +0 -0
  36. package/.output/public/_nuxt/COWXF9OU.js.gz +0 -0
  37. package/.output/public/_nuxt/{BDTOz37p.js → CiG2Lovu.js} +1 -1
  38. package/.output/public/_nuxt/CiG2Lovu.js.br +0 -0
  39. package/.output/public/_nuxt/CiG2Lovu.js.gz +0 -0
  40. package/.output/public/_nuxt/CnjxEm0H.js +27 -0
  41. package/.output/public/_nuxt/CnjxEm0H.js.br +0 -0
  42. package/.output/public/_nuxt/CnjxEm0H.js.gz +0 -0
  43. package/.output/public/_nuxt/DNs2cMBZ.js +23 -0
  44. package/.output/public/_nuxt/DNs2cMBZ.js.br +0 -0
  45. package/.output/public/_nuxt/DNs2cMBZ.js.gz +0 -0
  46. package/.output/public/_nuxt/D_x7Rysx.js +31 -0
  47. package/.output/public/_nuxt/D_x7Rysx.js.br +0 -0
  48. package/.output/public/_nuxt/D_x7Rysx.js.gz +0 -0
  49. package/.output/public/_nuxt/{CLf2i_DM.js → T-qXNaMY.js} +1 -1
  50. package/.output/public/_nuxt/{board.fZYj3O-m.css → board.CpFnG_Ho.css} +1 -1
  51. package/.output/public/_nuxt/board.CpFnG_Ho.css.br +0 -0
  52. package/.output/public/_nuxt/board.CpFnG_Ho.css.gz +0 -0
  53. package/.output/public/_nuxt/builds/latest.json +1 -1
  54. package/.output/public/_nuxt/builds/meta/e2ee8d99-6a6a-4754-934f-8b7dbecfcdcb.json +1 -0
  55. package/.output/public/_nuxt/entry.C_hImCpq.css +2 -0
  56. package/.output/public/_nuxt/entry.C_hImCpq.css.br +0 -0
  57. package/.output/public/_nuxt/entry.C_hImCpq.css.gz +0 -0
  58. package/.output/public/_nuxt/{settings.Cdb21nNw.css → settings.ycbeituV.css} +1 -1
  59. package/.output/public/_nuxt/settings.ycbeituV.css.br +0 -0
  60. package/.output/public/_nuxt/settings.ycbeituV.css.gz +0 -0
  61. package/.output/public/_nuxt/useViewport.D9mmYA6A.css +1 -0
  62. package/.output/public/_nuxt/useWorktrees.BWpb3OO0.css +1 -0
  63. package/.output/public/_nuxt/useWorktrees.BWpb3OO0.css.br +0 -0
  64. package/.output/public/_nuxt/useWorktrees.BWpb3OO0.css.gz +0 -0
  65. package/.output/public/sw.js +6 -2
  66. package/.output/server/chunks/_/branding.mjs +1 -1
  67. package/.output/server/chunks/_/fileDownload.mjs +1 -1
  68. package/.output/server/chunks/_/files.mjs +26 -3
  69. package/.output/server/chunks/_/machineOrder.mjs +1 -1
  70. package/.output/server/chunks/_/onboarding.mjs +1 -1
  71. package/.output/server/chunks/_/package.mjs +1 -1
  72. package/.output/server/chunks/_/plugins.mjs +1 -1
  73. package/.output/server/chunks/_/restart.mjs +1 -1
  74. package/.output/server/chunks/_/revoke.mjs +22 -0
  75. package/.output/server/chunks/_/selfupdate.mjs +2 -1
  76. package/.output/server/chunks/_/splitShell.mjs +42 -0
  77. package/.output/server/chunks/_/updates.mjs +18 -4
  78. package/.output/server/chunks/_/uploadHashes.mjs +46 -0
  79. package/.output/server/chunks/_/worktrees.mjs +1 -1
  80. package/.output/server/chunks/_/ws.mjs +3 -3
  81. package/.output/server/chunks/nitro/nitro.mjs +15815 -15082
  82. package/.output/server/chunks/raw/check-leaks.mjs +1 -1
  83. package/.output/server/chunks/raw/ci-browser-plan.mjs +5 -0
  84. package/.output/server/chunks/raw/engine-changes.mjs +5 -0
  85. package/.output/server/chunks/raw/engine-result.mjs +7 -0
  86. package/.output/server/chunks/raw/herdr-plugin.mjs +1 -1
  87. package/.output/server/chunks/raw/prerelease.mjs +1 -1
  88. package/.output/server/chunks/raw/test-affected.mjs +1 -1
  89. package/.output/server/chunks/routes/api/_..._.mjs +5 -5
  90. package/.output/server/chunks/routes/api/agents.post.mjs +5 -5
  91. package/.output/server/chunks/routes/api/ask-tab.post.mjs +5 -5
  92. package/.output/server/chunks/routes/api/attach.post.mjs +5 -5
  93. package/.output/server/chunks/routes/api/auth/disable.post.mjs +14 -7
  94. package/.output/server/chunks/routes/api/auth/lock-all.post.mjs +12 -6
  95. package/.output/server/chunks/routes/api/auth/lock.post.mjs +5 -5
  96. package/.output/server/chunks/routes/api/auth/login/options.post.mjs +7 -7
  97. package/.output/server/chunks/routes/api/auth/login/verify.post.mjs +5 -5
  98. package/.output/server/chunks/routes/api/auth/max-session.post.mjs +5 -5
  99. package/.output/server/chunks/routes/api/auth/register/options.post.mjs +5 -5
  100. package/.output/server/chunks/routes/api/auth/register/verify.post.mjs +5 -5
  101. package/.output/server/chunks/routes/api/auth/status.get.mjs +10 -10
  102. package/.output/server/chunks/routes/api/changes.get.mjs +6 -6
  103. package/.output/server/chunks/routes/api/chat/image.get.mjs +6 -6
  104. package/.output/server/chunks/routes/api/chat.get.mjs +20 -49
  105. package/.output/server/chunks/routes/api/choose.post.mjs +6 -6
  106. package/.output/server/chunks/routes/api/claude-setup.post.mjs +6 -6
  107. package/.output/server/chunks/routes/api/claude-statusline.post.mjs +6 -6
  108. package/.output/server/chunks/routes/api/clear-queued-input.post.mjs +6 -6
  109. package/.output/server/chunks/routes/api/close/status.get.mjs +6 -6
  110. package/.output/server/chunks/routes/api/close-preview.get.mjs +62 -0
  111. package/.output/server/chunks/routes/api/close.post.mjs +5 -5
  112. package/.output/server/chunks/routes/api/codex-update.post.mjs +6 -6
  113. package/.output/server/chunks/routes/api/commands.get.mjs +6 -6
  114. package/.output/server/chunks/routes/api/config.get.mjs +6 -6
  115. package/.output/server/chunks/routes/api/dirs.get.mjs +6 -6
  116. package/.output/server/chunks/routes/api/dismiss-stopped.post.mjs +6 -6
  117. package/.output/server/chunks/routes/api/dismiss.post.mjs +6 -6
  118. package/.output/server/chunks/routes/api/effort.post.mjs +6 -6
  119. package/.output/server/chunks/routes/api/efforts.get.mjs +6 -6
  120. package/.output/server/chunks/routes/api/file.post.mjs +6 -6
  121. package/.output/server/chunks/routes/api/files/download.get.mjs +5 -5
  122. package/.output/server/chunks/routes/api/files/download.head.mjs +5 -5
  123. package/.output/server/chunks/routes/api/files/read.get.mjs +6 -6
  124. package/.output/server/chunks/routes/api/files.get.mjs +6 -6
  125. package/.output/server/chunks/routes/api/health.get.mjs +5 -5
  126. package/.output/server/chunks/routes/api/input.post.mjs +6 -6
  127. package/.output/server/chunks/routes/api/interrupt.post.mjs +6 -6
  128. package/.output/server/chunks/routes/api/isgit.get.mjs +6 -6
  129. package/.output/server/chunks/routes/api/machine/awake.get.mjs +6 -6
  130. package/.output/server/chunks/routes/api/machine/awake.post.mjs +6 -6
  131. package/.output/server/chunks/routes/api/machine/order.get.mjs +5 -5
  132. package/.output/server/chunks/routes/api/machine/order.post.mjs +5 -5
  133. package/.output/server/chunks/routes/api/machine/reconnect.post.mjs +6 -6
  134. package/.output/server/chunks/routes/api/machine/rename.post.mjs +6 -6
  135. package/.output/server/chunks/routes/api/machine/status.post.mjs +6 -6
  136. package/.output/server/chunks/routes/api/menu-left.post.mjs +6 -6
  137. package/.output/server/chunks/routes/api/menu.post.mjs +6 -6
  138. package/.output/server/chunks/routes/api/model.post.mjs +6 -6
  139. package/.output/server/chunks/routes/api/models.get.mjs +6 -6
  140. package/.output/server/chunks/routes/api/nav.post.mjs +6 -6
  141. package/.output/server/chunks/routes/api/onboarding.get.mjs +5 -5
  142. package/.output/server/chunks/routes/api/onboarding.post.mjs +5 -5
  143. package/.output/server/chunks/routes/api/phone.get.mjs +6 -6
  144. package/.output/server/chunks/routes/api/phone.post.mjs +6 -6
  145. package/.output/server/chunks/routes/api/plugins/actions.get.mjs +5 -5
  146. package/.output/server/chunks/routes/api/plugins/invoke.post.mjs +5 -5
  147. package/.output/server/chunks/routes/api/plugins/projects.get.mjs +6 -6
  148. package/.output/server/chunks/routes/api/plugins/projects.post.mjs +6 -6
  149. package/.output/server/chunks/routes/api/prompt.post.mjs +6 -6
  150. package/.output/server/chunks/routes/api/push/devices.post.mjs +49 -0
  151. package/.output/server/chunks/routes/api/push/quiet.post.mjs +6 -6
  152. package/.output/server/chunks/routes/api/push/subscribe.post.mjs +8 -7
  153. package/.output/server/chunks/routes/api/push/test.post.mjs +6 -6
  154. package/.output/server/chunks/routes/api/push/unsubscribe.post.mjs +6 -6
  155. package/.output/server/chunks/routes/api/quotas.get.mjs +6 -6
  156. package/.output/server/chunks/routes/api/rename.post.mjs +5 -5
  157. package/.output/server/chunks/routes/api/requeue.post.mjs +6 -6
  158. package/.output/server/chunks/routes/api/restart.get.mjs +5 -5
  159. package/.output/server/chunks/routes/api/restart.post.mjs +5 -5
  160. package/.output/server/chunks/routes/api/reveal.post.mjs +6 -6
  161. package/.output/server/chunks/routes/api/screen-key.post.mjs +6 -6
  162. package/.output/server/chunks/routes/api/screen.get.mjs +6 -6
  163. package/.output/server/chunks/routes/api/search.get.mjs +6 -6
  164. package/.output/server/chunks/routes/api/seen.post.mjs +6 -6
  165. package/.output/server/chunks/routes/api/send-now.post.mjs +6 -6
  166. package/.output/server/chunks/routes/api/sessions.get.mjs +6 -6
  167. package/.output/server/chunks/routes/api/sessions.post.mjs +6 -6
  168. package/.output/server/chunks/routes/api/settings-tab.post.mjs +6 -6
  169. package/.output/server/chunks/routes/api/settings.get.mjs +6 -6
  170. package/.output/server/chunks/routes/api/settings.post.mjs +6 -6
  171. package/.output/server/chunks/routes/api/space.post.mjs +6 -6
  172. package/.output/server/chunks/routes/api/split-command.post.mjs +9 -44
  173. package/.output/server/chunks/routes/api/state.get.mjs +6 -6
  174. package/.output/server/chunks/routes/api/tasks/action.post.mjs +6 -6
  175. package/.output/server/chunks/routes/api/tasks/add.post.mjs +6 -6
  176. package/.output/server/chunks/routes/api/tasks/after.post.mjs +6 -6
  177. package/.output/server/chunks/routes/api/tasks/approve.post.mjs +6 -6
  178. package/.output/server/chunks/routes/api/tasks/archive-done.post.mjs +6 -6
  179. package/.output/server/chunks/routes/api/tasks/archived.get.mjs +6 -6
  180. package/.output/server/chunks/routes/api/tasks/autopilot.get.mjs +6 -6
  181. package/.output/server/chunks/routes/api/tasks/autopilot.post.mjs +6 -6
  182. package/.output/server/chunks/routes/api/tasks/board-settings.get.mjs +6 -6
  183. package/.output/server/chunks/routes/api/tasks/board-settings.post.mjs +6 -6
  184. package/.output/server/chunks/routes/api/tasks/coordinator.get.mjs +6 -6
  185. package/.output/server/chunks/routes/api/tasks/coordinator.post.mjs +6 -6
  186. package/.output/server/chunks/routes/api/tasks/describe.post.mjs +6 -6
  187. package/.output/server/chunks/routes/api/tasks/details.get.mjs +6 -6
  188. package/.output/server/chunks/routes/api/tasks/limit.post.mjs +6 -6
  189. package/.output/server/chunks/routes/api/tasks/links.get.mjs +7 -7
  190. package/.output/server/chunks/routes/api/tasks/models.get.mjs +6 -6
  191. package/.output/server/chunks/routes/api/tasks/pick.post.mjs +6 -6
  192. package/.output/server/chunks/routes/api/tasks/project.get.mjs +6 -6
  193. package/.output/server/chunks/routes/api/tasks/project.post.mjs +6 -6
  194. package/.output/server/chunks/routes/api/tasks/question.post.mjs +6 -6
  195. package/.output/server/chunks/routes/api/tasks/scheduled.get.mjs +6 -6
  196. package/.output/server/chunks/routes/api/tasks/settings.get.mjs +6 -6
  197. package/.output/server/chunks/routes/api/tasks/start.get.mjs +6 -6
  198. package/.output/server/chunks/routes/api/tasks/tell.post.mjs +6 -6
  199. package/.output/server/chunks/routes/api/tasks/transcript-image.get.mjs +47 -0
  200. package/.output/server/chunks/routes/api/tasks/transcript.get.mjs +48 -0
  201. package/.output/server/chunks/routes/api/tasks.get.mjs +6 -6
  202. package/.output/server/chunks/routes/api/unqueue.post.mjs +6 -6
  203. package/.output/server/chunks/routes/api/update/status.get.mjs +5 -5
  204. package/.output/server/chunks/routes/api/update.get.mjs +5 -5
  205. package/.output/server/chunks/routes/api/update.post.mjs +5 -5
  206. package/.output/server/chunks/routes/api/upload.post.mjs +6 -6
  207. package/.output/server/chunks/routes/api/worktrees/remove.post.mjs +5 -5
  208. package/.output/server/chunks/routes/api/worktrees.get.mjs +5 -5
  209. package/.output/server/chunks/routes/favicon.ico.get.mjs +5 -5
  210. package/.output/server/chunks/routes/icons/_name_.get.mjs +6 -6
  211. package/.output/server/chunks/routes/renderer.mjs +7 -7
  212. package/.output/server/chunks/routes/uploads/_...name_.get.mjs +6 -6
  213. package/.output/server/chunks/routes/ws/_..._.mjs +6 -6
  214. package/.output/server/chunks/routes/ws/events.mjs +6 -6
  215. package/.output/server/chunks/routes/ws/term.mjs +6 -6
  216. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  217. package/.output/server/index.mjs +6 -6
  218. package/.output/server/package.json +1 -1
  219. package/README.md +1 -1
  220. package/bin/lib/tailnet.d.mts +7 -4
  221. package/bin/lib/tailnet.mjs +76 -18
  222. package/bin/lib/updater.mjs +6 -0
  223. package/docs/README.md +4 -0
  224. package/docs/RELEASING.md +27 -5
  225. package/docs/configuration.md +3 -4
  226. package/docs/conversation.md +11 -3
  227. package/docs/design.md +1 -1
  228. package/docs/devices.md +28 -0
  229. package/docs/home.md +29 -0
  230. package/docs/installation.md +14 -5
  231. package/docs/networks.md +9 -4
  232. package/docs/notifications.md +7 -0
  233. package/docs/plugins.md +1 -1
  234. package/docs/quick-start.md +7 -6
  235. package/docs/quotas.md +10 -1
  236. package/docs/release-notes-2.5.0.md +25 -0
  237. package/docs/release-notes-2.6.0.md +29 -0
  238. package/docs/security.md +61 -11
  239. package/docs/troubleshooting.md +4 -0
  240. package/package.json +1 -1
  241. package/skills/wherdr/SKILL.md +21 -0
  242. package/.output/public/_nuxt/AgentView.B12D6ccj.css +0 -1
  243. package/.output/public/_nuxt/AgentView.B12D6ccj.css.br +0 -0
  244. package/.output/public/_nuxt/AgentView.B12D6ccj.css.gz +0 -0
  245. package/.output/public/_nuxt/B2KlcBQ-.js.br +0 -0
  246. package/.output/public/_nuxt/B2KlcBQ-.js.gz +0 -0
  247. package/.output/public/_nuxt/BDTOz37p.js.br +0 -0
  248. package/.output/public/_nuxt/BDTOz37p.js.gz +0 -0
  249. package/.output/public/_nuxt/BGD5AamG.js +0 -25
  250. package/.output/public/_nuxt/BGD5AamG.js.br +0 -0
  251. package/.output/public/_nuxt/BGD5AamG.js.gz +0 -0
  252. package/.output/public/_nuxt/BdJIc1Xf.js.gz +0 -0
  253. package/.output/public/_nuxt/BxlzUs1i.js +0 -23
  254. package/.output/public/_nuxt/BxlzUs1i.js.br +0 -0
  255. package/.output/public/_nuxt/BxlzUs1i.js.gz +0 -0
  256. package/.output/public/_nuxt/C-BDzEtI.js +0 -3
  257. package/.output/public/_nuxt/C-BDzEtI.js.br +0 -0
  258. package/.output/public/_nuxt/C-BDzEtI.js.gz +0 -0
  259. package/.output/public/_nuxt/CO4sDeSt.js +0 -62
  260. package/.output/public/_nuxt/CO4sDeSt.js.br +0 -0
  261. package/.output/public/_nuxt/CO4sDeSt.js.gz +0 -0
  262. package/.output/public/_nuxt/CPlkxpge.js.br +0 -0
  263. package/.output/public/_nuxt/CPlkxpge.js.gz +0 -0
  264. package/.output/public/_nuxt/CTPNZj4T.js +0 -9
  265. package/.output/public/_nuxt/CTPNZj4T.js.br +0 -0
  266. package/.output/public/_nuxt/CTPNZj4T.js.gz +0 -0
  267. package/.output/public/_nuxt/CgUSTIM1.js.gz +0 -0
  268. package/.output/public/_nuxt/CwurhZnh.js +0 -123
  269. package/.output/public/_nuxt/CwurhZnh.js.br +0 -0
  270. package/.output/public/_nuxt/CwurhZnh.js.gz +0 -0
  271. package/.output/public/_nuxt/D7fCPncR.js +0 -1
  272. package/.output/public/_nuxt/D7fCPncR.js.br +0 -0
  273. package/.output/public/_nuxt/D7fCPncR.js.gz +0 -0
  274. package/.output/public/_nuxt/DFe-cDm2.js +0 -1
  275. package/.output/public/_nuxt/DFe-cDm2.js.br +0 -0
  276. package/.output/public/_nuxt/DFe-cDm2.js.gz +0 -0
  277. package/.output/public/_nuxt/Dpe9TNcA.js +0 -31
  278. package/.output/public/_nuxt/Dpe9TNcA.js.br +0 -0
  279. package/.output/public/_nuxt/Dpe9TNcA.js.gz +0 -0
  280. package/.output/public/_nuxt/board.fZYj3O-m.css.br +0 -0
  281. package/.output/public/_nuxt/board.fZYj3O-m.css.gz +0 -0
  282. package/.output/public/_nuxt/builds/meta/75cc4ea7-3027-463a-aa3e-29e474ed7173.json +0 -1
  283. package/.output/public/_nuxt/entry.KNdllmoL.css +0 -2
  284. package/.output/public/_nuxt/entry.KNdllmoL.css.br +0 -0
  285. package/.output/public/_nuxt/entry.KNdllmoL.css.gz +0 -0
  286. package/.output/public/_nuxt/settings.Cdb21nNw.css.br +0 -0
  287. package/.output/public/_nuxt/settings.Cdb21nNw.css.gz +0 -0
@@ -1,4 +1,4 @@
1
- import { a as defineApi, bp as readQuotas } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, bE as readQuotas } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const quotas_get = defineApi(() => readQuotas());
35
35
 
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const rename_post = defineApi(async (event, b) => {
35
35
  if (!PANE_RE.test(b.pane_id || "")) throw new HerdrError("bad_pane", "Invalid pane");
@@ -1,4 +1,4 @@
1
- import { a as defineApi, P as PANE_RE, H as HerdrError, bq as retryQueued } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, P as PANE_RE, H as HerdrError, bF as retryQueued } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const requeue_post = defineApi(async (event, b) => {
35
35
  if (!PANE_RE.test(b.pane_id || "")) throw new HerdrError("bad_pane", "Invalid pane");
@@ -18,19 +18,19 @@ import 'node:buffer';
18
18
  import 'node:fs';
19
19
  import 'node:path';
20
20
  import 'node:os';
21
- import 'node:net';
22
21
  import 'node:child_process';
23
22
  import 'node:dns';
24
23
  import 'node:util';
24
+ import 'qrcode-terminal/vendor/QRCode/index.js';
25
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
25
26
  import 'web-push';
27
+ import 'node:zlib';
28
+ import '@simplewebauthn/server';
29
+ import 'node:net';
26
30
  import 'node:string_decoder';
27
31
  import 'node:fs/promises';
28
32
  import 'node:readline';
29
- import 'qrcode-terminal/vendor/QRCode/index.js';
30
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
31
33
  import 'node:url';
32
- import 'node:zlib';
33
- import '@simplewebauthn/server';
34
34
 
35
35
  const restart_get = defineApi(async (event) => {
36
36
  const pane = String(getQuery(event).pane || "");
@@ -18,19 +18,19 @@ import 'node:buffer';
18
18
  import 'node:fs';
19
19
  import 'node:path';
20
20
  import 'node:os';
21
- import 'node:net';
22
21
  import 'node:child_process';
23
22
  import 'node:dns';
24
23
  import 'node:util';
24
+ import 'qrcode-terminal/vendor/QRCode/index.js';
25
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
25
26
  import 'web-push';
27
+ import 'node:zlib';
28
+ import '@simplewebauthn/server';
29
+ import 'node:net';
26
30
  import 'node:string_decoder';
27
31
  import 'node:fs/promises';
28
32
  import 'node:readline';
29
- import 'qrcode-terminal/vendor/QRCode/index.js';
30
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
31
33
  import 'node:url';
32
- import 'node:zlib';
33
- import '@simplewebauthn/server';
34
34
 
35
35
  const restart_post = defineApi(async (event, b) => {
36
36
  if (!PANE_RE.test(b.pane_id || "")) throw new HerdrError("bad_pane", "Invalid pane");
@@ -1,4 +1,4 @@
1
- import { H as HerdrError, br as PANE_RE, f as findPane, $ as getMachine, a_ as splitId, t as fmt, aa as log, a as defineApi } from '../../nitro/nitro.mjs';
1
+ import { H as HerdrError, bG as PANE_RE, f as findPane, a9 as getMachine, bb as splitId, F as fmt, an as log, a as defineApi } from '../../nitro/nitro.mjs';
2
2
  import { execFile } from 'node:child_process';
3
3
  import { r as resolveAgentPath, a as runnablePath } from '../../_/filePaths.mjs';
4
4
  import 'node:http';
@@ -19,18 +19,18 @@ import 'node:buffer';
19
19
  import 'node:fs';
20
20
  import 'node:path';
21
21
  import 'node:os';
22
- import 'node:net';
23
22
  import 'node:dns';
24
23
  import 'node:util';
24
+ import 'qrcode-terminal/vendor/QRCode/index.js';
25
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
25
26
  import 'web-push';
27
+ import 'node:zlib';
28
+ import '@simplewebauthn/server';
29
+ import 'node:net';
26
30
  import 'node:string_decoder';
27
31
  import 'node:fs/promises';
28
32
  import 'node:readline';
29
- import 'qrcode-terminal/vendor/QRCode/index.js';
30
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
31
33
  import 'node:url';
32
- import 'node:zlib';
33
- import '@simplewebauthn/server';
34
34
 
35
35
  const REVEAL_CHECKS = `p=$2
36
36
  [ -e "$p" ] || exit 3
@@ -1,4 +1,4 @@
1
- import { a as defineApi, P as PANE_RE, H as HerdrError, h as herdr, bs as parseWaitScreen, K as parseChoices, bt as waitIdentity, g as choicesCache, p as poll } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, P as PANE_RE, H as HerdrError, h as herdr, bH as parseWaitScreen, W as parseChoices, bI as waitIdentity, g as choicesCache, p as poll } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const screenKey_post = defineApi(async (event, b) => {
35
35
  if (!PANE_RE.test(b.pane_id || "")) throw new HerdrError("bad_pane", "Invalid pane");
@@ -1,4 +1,4 @@
1
- import { a as defineApi, i as getQuery, P as PANE_RE, H as HerdrError, h as herdr, bu as settingsTabs, bv as tabsOfRow, f as findPane, bw as classifyScreen, bs as parseWaitScreen, bx as parseMenu, b as screenChoices } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, i as getQuery, P as PANE_RE, H as HerdrError, h as herdr, bJ as settingsTabs, bK as tabsOfRow, f as findPane, bL as classifyScreen, bH as parseWaitScreen, bM as parseMenu, b as screenChoices } from '../../nitro/nitro.mjs';
2
2
  import { a as activeTab } from '../../_/settingstabs.mjs';
3
3
  import 'node:http';
4
4
  import 'node:https';
@@ -18,19 +18,19 @@ import 'node:buffer';
18
18
  import 'node:fs';
19
19
  import 'node:path';
20
20
  import 'node:os';
21
- import 'node:net';
22
21
  import 'node:child_process';
23
22
  import 'node:dns';
24
23
  import 'node:util';
24
+ import 'qrcode-terminal/vendor/QRCode/index.js';
25
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
25
26
  import 'web-push';
27
+ import 'node:zlib';
28
+ import '@simplewebauthn/server';
29
+ import 'node:net';
26
30
  import 'node:string_decoder';
27
31
  import 'node:fs/promises';
28
32
  import 'node:readline';
29
- import 'qrcode-terminal/vendor/QRCode/index.js';
30
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
31
33
  import 'node:url';
32
- import 'node:zlib';
33
- import '@simplewebauthn/server';
34
34
 
35
35
  const screen_get = defineApi(async (event) => {
36
36
  const pane = String(getQuery(event).pane || "");
@@ -1,4 +1,4 @@
1
- import { by as excerpt, bz as taskKey, bA as foldSearch, bB as matchAt, a as defineApi, i as getQuery, bC as searchableBoards, a$ as getState, bD as hasTranscript, q as machineOfPane, bE as SEARCH_DEADLINE_MS, bF as SEARCH_MAX_RESULTS, bG as spaceTitle } from '../../nitro/nitro.mjs';
1
+ import { bN as excerpt, bO as taskKey, bP as foldSearch, bQ as matchAt, a as defineApi, i as getQuery, bR as searchableBoards, bc as getState, bS as hasTranscript, E as machineOfPane, bT as SEARCH_DEADLINE_MS, bU as SEARCH_MAX_RESULTS, bV as spaceTitle } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const TASK_SEARCH_MAX = 12;
35
35
  const compact = (s) => foldSearch(s).replace(/[\s_-]+/g, "");
@@ -1,4 +1,4 @@
1
- import { a as defineApi, P as PANE_RE, H as HerdrError, bH as markSeen } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, P as PANE_RE, H as HerdrError, bW as markSeen } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const seen_post = defineApi(async (event, b) => {
35
35
  if (!PANE_RE.test(b.pane_id || "")) throw new HerdrError("bad_pane", "Invalid pane");
@@ -1,4 +1,4 @@
1
- import { a as defineApi, P as PANE_RE, H as HerdrError, M as withPaneLock, f as findPane, h as herdr, bI as parseClaudeScreen, p as poll } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, P as PANE_RE, H as HerdrError, Y as withPaneLock, f as findPane, h as herdr, bX as parseClaudeScreen, p as poll } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const sendNow_post = defineApi(async (_event, b) => {
35
35
  if (!PANE_RE.test(b.pane_id || "")) throw new HerdrError("bad_pane", "Invalid pane");
@@ -1,4 +1,4 @@
1
- import { a as defineApi, i as getQuery, bJ as listSessions } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, i as getQuery, bY as listSessions } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const sessions_get = defineApi(async (event) => {
35
35
  const key = String(getQuery(event).machine || "");
@@ -1,4 +1,4 @@
1
- import { a as defineApi, H as HerdrError, bK as openSession } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, H as HerdrError, bZ as openSession } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const sessions_post = defineApi(async (_event, body) => {
35
35
  if (typeof body.machine !== "string" || typeof body.name !== "string") throw new HerdrError("bad_session", "Invalid session");
@@ -1,4 +1,4 @@
1
- import { a as defineApi, P as PANE_RE, H as HerdrError, f as findPane, h as herdr, bu as settingsTabs, bv as tabsOfRow, bL as settingsFocus, X as sleep, g as choicesCache } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, P as PANE_RE, H as HerdrError, f as findPane, h as herdr, bJ as settingsTabs, bK as tabsOfRow, b_ as settingsFocus, a5 as sleep, g as choicesCache } from '../../nitro/nitro.mjs';
2
2
  import { a as activeTab } from '../../_/settingstabs.mjs';
3
3
  import 'node:http';
4
4
  import 'node:https';
@@ -18,19 +18,19 @@ import 'node:buffer';
18
18
  import 'node:fs';
19
19
  import 'node:path';
20
20
  import 'node:os';
21
- import 'node:net';
22
21
  import 'node:child_process';
23
22
  import 'node:dns';
24
23
  import 'node:util';
24
+ import 'qrcode-terminal/vendor/QRCode/index.js';
25
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
25
26
  import 'web-push';
27
+ import 'node:zlib';
28
+ import '@simplewebauthn/server';
29
+ import 'node:net';
26
30
  import 'node:string_decoder';
27
31
  import 'node:fs/promises';
28
32
  import 'node:readline';
29
- import 'qrcode-terminal/vendor/QRCode/index.js';
30
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
31
33
  import 'node:url';
32
- import 'node:zlib';
33
- import '@simplewebauthn/server';
34
34
 
35
35
  const switching = /* @__PURE__ */ new Set();
36
36
  const settingsTab_post = defineApi(async (_event, b) => {
@@ -1,4 +1,4 @@
1
- import { a as defineApi, bM as readSettings } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, b$ as readSettings } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const settings_get = defineApi(async () => ({ settings: await readSettings() }));
35
35
 
@@ -1,4 +1,4 @@
1
- import { a as defineApi, bN as cleanSettingsPatch, H as HerdrError, bO as patchSettings } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, c0 as cleanSettingsPatch, H as HerdrError, c1 as patchSettings } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const settings_post = defineApi(async (_event, body) => {
35
35
  const patch = cleanSettingsPatch(body.settings);
@@ -1,4 +1,4 @@
1
- import { a as defineApi, bP as spaceCall, bQ as SpaceActionError, H as HerdrError, aa as log, p as poll, aZ as herdrOn, bR as dropSteps, bS as verifySpaceRename, bT as spaceResult, bU as swapSteps } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, c2 as spaceCall, c3 as SpaceActionError, H as HerdrError, an as log, p as poll, ba as herdrOn, c4 as dropSteps, c5 as verifySpaceRename, c6 as spaceResult, c7 as swapSteps } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const space_post = defineApi(async (_event, body) => {
35
35
  let call;
@@ -1,6 +1,5 @@
1
- import { $ as getMachine, H as HerdrError, aH as DATA_DIR, bV as RemoteMachine, bW as HERDR_BIN, aZ as herdrOn, br as PANE_RE, a_ as splitId, bX as reduceSnapshot, X as sleep, bY as joinId, a as defineApi, p as poll } from '../../nitro/nitro.mjs';
2
- import fs from 'node:fs/promises';
3
- import path from 'node:path';
1
+ import { ba as herdrOn, bG as PANE_RE, H as HerdrError, bb as splitId, c8 as reduceSnapshot, a5 as sleep, c9 as joinId, a as defineApi, p as poll } from '../../nitro/nitro.mjs';
2
+ import { p as prepareSplitShell, a as SPLIT_TERMINAL_TOKEN, S as SPLIT_PROMPT_TOKEN } from '../../_/splitShell.mjs';
4
3
  import 'node:http';
5
4
  import 'node:https';
6
5
  import 'node:crypto';
@@ -17,55 +16,21 @@ import 'url';
17
16
  import 'node:events';
18
17
  import 'node:buffer';
19
18
  import 'node:fs';
19
+ import 'node:path';
20
20
  import 'node:os';
21
- import 'node:net';
22
21
  import 'node:child_process';
23
22
  import 'node:dns';
24
23
  import 'node:util';
25
- import 'web-push';
26
- import 'node:string_decoder';
27
- import 'node:readline';
28
24
  import 'qrcode-terminal/vendor/QRCode/index.js';
29
25
  import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
- import 'node:url';
26
+ import 'web-push';
31
27
  import 'node:zlib';
32
28
  import '@simplewebauthn/server';
33
-
34
- const SPLIT_TERMINAL_TOKEN = "wherdr_split_terminal";
35
- const SPLIT_PROMPT_TOKEN = "wherdr_split_prompt";
36
- const quote = (s) => `'${s.replace(/'/g, `'\\''`)}'`;
37
- function splitShellHooks(binary, session) {
38
- const report = `${quote(binary)} --session ${quote(session)} pane report-metadata "$HERDR_PANE_ID" --source wherdr-split`;
39
- const busy = `${report} --clear-token ${SPLIT_PROMPT_TOKEN} >/dev/null 2>&1`;
40
- const ready = `${report} --token "${SPLIT_PROMPT_TOKEN}=$$" >/dev/null 2>&1`;
41
- return {
42
- bash: `if (( BASH_VERSINFO[0] > 4 || (BASH_VERSINFO[0] == 4 && BASH_VERSINFO[1] >= 4) )); then PS0=${quote(`$(${busy})`)}; ${ready}; fi`,
43
- zsh: `_wherdr_split_busy() { ${busy}; }
44
- _wherdr_split_ready() { ${ready}; }
45
- preexec_functions+=(_wherdr_split_busy)
46
- precmd_functions+=(_wherdr_split_ready)
47
- `
48
- };
49
- }
50
- async function prepareSplitShell(machine) {
51
- const m = getMachine(machine);
52
- if (!m) throw new HerdrError("bad_machine", "Unknown machine");
53
- const dir = m.local ? path.join(DATA_DIR, "split-shell") : path.posix.join(m.home, ".cache/herdr-web/split-shell");
54
- const hooks = splitShellHooks(m instanceof RemoteMachine ? m.bin : HERDR_BIN, m.session);
55
- const zshenv = 'unset ZDOTDIR\n[[ -f "$HOME/.zshenv" ]] && source "$HOME/.zshenv"\nexport WHERDR_SPLIT_USER_ZDOTDIR=${ZDOTDIR:-$HOME}\nexport ZDOTDIR=$WHERDR_SPLIT_BOOTSTRAP\n';
56
- const zprofile = 'ZDOTDIR=$WHERDR_SPLIT_USER_ZDOTDIR\n[[ -f "$ZDOTDIR/.zprofile" ]] && source "$ZDOTDIR/.zprofile"\nexport WHERDR_SPLIT_USER_ZDOTDIR=${ZDOTDIR:-$HOME}\nexport ZDOTDIR=$WHERDR_SPLIT_BOOTSTRAP\n';
57
- const zshrc = 'ZDOTDIR=$WHERDR_SPLIT_USER_ZDOTDIR\n[[ -f "$ZDOTDIR/.zshrc" ]] && source "$ZDOTDIR/.zshrc"\n' + hooks.zsh;
58
- if (m.exec) {
59
- const r = await m.exec('umask 077; mkdir -p "$1" && printf %s "$2" > "$1/.zshenv" && printf %s "$3" > "$1/.zshrc" && printf %s "$4" > "$1/.zprofile"', [dir, zshenv, zshrc, zprofile], { timeoutMs: 5e3 });
60
- if (r.code !== 0) throw new HerdrError("split_failed", "Could not prepare the split terminal. No command was sent.");
61
- } else {
62
- await fs.mkdir(dir, { recursive: true, mode: 448 });
63
- await fs.writeFile(path.join(dir, ".zshenv"), zshenv, { mode: 384 });
64
- await fs.writeFile(path.join(dir, ".zshrc"), zshrc, { mode: 384 });
65
- await fs.writeFile(path.join(dir, ".zprofile"), zprofile, { mode: 384 });
66
- }
67
- return { PROMPT_COMMAND: hooks.bash, ZDOTDIR: dir, WHERDR_SPLIT_BOOTSTRAP: dir };
68
- }
29
+ import 'node:net';
30
+ import 'node:string_decoder';
31
+ import 'node:fs/promises';
32
+ import 'node:readline';
33
+ import 'node:url';
69
34
 
70
35
  const pending = /* @__PURE__ */ new Map();
71
36
  const START_WAIT_MS = 5e3;
@@ -1,4 +1,4 @@
1
- import { a as defineApi, a$ as getState } from '../../nitro/nitro.mjs';
1
+ import { a as defineApi, bc as getState } from '../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const state_get = defineApi(() => getState());
35
35
 
@@ -1,4 +1,4 @@
1
- import { a as defineApi, b_ as taskCommand } from '../../../nitro/nitro.mjs';
1
+ import { a as defineApi, cb as taskCommand } from '../../../nitro/nitro.mjs';
2
2
  import 'node:http';
3
3
  import 'node:https';
4
4
  import 'node:crypto';
@@ -17,19 +17,19 @@ import 'node:buffer';
17
17
  import 'node:fs';
18
18
  import 'node:path';
19
19
  import 'node:os';
20
- import 'node:net';
21
20
  import 'node:child_process';
22
21
  import 'node:dns';
23
22
  import 'node:util';
23
+ import 'qrcode-terminal/vendor/QRCode/index.js';
24
+ import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
24
25
  import 'web-push';
26
+ import 'node:zlib';
27
+ import '@simplewebauthn/server';
28
+ import 'node:net';
25
29
  import 'node:string_decoder';
26
30
  import 'node:fs/promises';
27
31
  import 'node:readline';
28
- import 'qrcode-terminal/vendor/QRCode/index.js';
29
- import 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
30
32
  import 'node:url';
31
- import 'node:zlib';
32
- import '@simplewebauthn/server';
33
33
 
34
34
  const action_post = defineApi((_event, b) => {
35
35
  var _a;