commandmate 0.28.0 → 0.29.1

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 (520) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +404 -397
  3. package/.next/app-path-routes-manifest.json +26 -25
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +12 -12
  6. package/.next/react-loadable-manifest.json +0 -6
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/app/update-check/route.js +1 -1
  11. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/auth/login/route.js +1 -1
  20. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/auth/logout/route.js +1 -1
  22. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/auth/status/route.js +1 -1
  24. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/capabilities/route.js +1 -1
  26. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/remote/pair/route.js +2 -0
  43. package/.next/server/app/api/remote/pair/route.js.nft.json +1 -0
  44. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -0
  45. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/route.js +1 -1
  149. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  151. package/.next/server/app/login/page.js +2 -2
  152. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  153. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  155. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  156. package/.next/server/app/page_client-reference-manifest.js +1 -1
  157. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  161. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  162. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  163. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  164. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  165. package/.next/server/app/worktrees/[id]/page.js +9 -9
  166. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  167. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  168. package/.next/server/app-paths-manifest.json +26 -25
  169. package/.next/server/chunks/1162.js +1 -1
  170. package/.next/server/chunks/2119.js +1 -1
  171. package/.next/server/chunks/2404.js +1 -1
  172. package/.next/server/chunks/2445.js +1 -1
  173. package/.next/server/chunks/2759.js +1 -1
  174. package/.next/server/chunks/3440.js +1 -1
  175. package/.next/server/chunks/3543.js +1 -1
  176. package/.next/server/chunks/3945.js +1 -1
  177. package/.next/server/chunks/4393.js +1 -1
  178. package/.next/server/chunks/6130.js +1 -1
  179. package/.next/server/chunks/880.js +6 -6
  180. package/.next/server/chunks/9123.js +2 -2
  181. package/.next/server/chunks/9938.js +1 -1
  182. package/.next/server/functions-config-manifest.json +3 -1
  183. package/.next/server/middleware-build-manifest.js +1 -1
  184. package/.next/server/middleware-manifest.json +5 -5
  185. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  186. package/.next/server/pages/500.html +1 -1
  187. package/.next/server/server-reference-manifest.json +1 -1
  188. package/.next/server/src/middleware.js +1 -1
  189. package/.next/server/src/middleware.js.map +1 -1
  190. package/.next/static/Dvfs4ZThl5vBhJGP-ZQuJ/_buildManifest.js +1 -0
  191. package/.next/static/chunks/5229-580b581fce5aeb52.js +1 -0
  192. package/.next/static/chunks/6381-9a929249196a0e77.js +1 -0
  193. package/.next/static/chunks/app/api/app/update/route-e3626364434d521b.js +1 -0
  194. package/.next/static/chunks/app/api/app/update-check/route-e3626364434d521b.js +1 -0
  195. package/.next/static/chunks/app/api/assistant/conversation/route-e3626364434d521b.js +1 -0
  196. package/.next/static/chunks/app/api/assistant/current-output/route-e3626364434d521b.js +1 -0
  197. package/.next/static/chunks/app/api/assistant/messages/route-e3626364434d521b.js +1 -0
  198. package/.next/static/chunks/app/api/assistant/session/route-e3626364434d521b.js +1 -0
  199. package/.next/static/chunks/app/api/assistant/start/route-e3626364434d521b.js +1 -0
  200. package/.next/static/chunks/app/api/assistant/terminal/route-e3626364434d521b.js +1 -0
  201. package/.next/static/chunks/app/api/assistant/tools/route-e3626364434d521b.js +1 -0
  202. package/.next/static/chunks/app/api/auth/login/route-e3626364434d521b.js +1 -0
  203. package/.next/static/chunks/app/api/auth/logout/route-e3626364434d521b.js +1 -0
  204. package/.next/static/chunks/app/api/auth/status/route-e3626364434d521b.js +1 -0
  205. package/.next/static/chunks/app/api/capabilities/route-e3626364434d521b.js +1 -0
  206. package/.next/static/chunks/app/api/daily-summary/route-e3626364434d521b.js +1 -0
  207. package/.next/static/chunks/app/api/daily-summary/status/route-e3626364434d521b.js +1 -0
  208. package/.next/static/chunks/app/api/external-apps/[id]/health/route-e3626364434d521b.js +1 -0
  209. package/.next/static/chunks/app/api/external-apps/[id]/route-e3626364434d521b.js +1 -0
  210. package/.next/static/chunks/app/api/external-apps/route-e3626364434d521b.js +1 -0
  211. package/.next/static/chunks/app/api/fs/browse/route-e3626364434d521b.js +1 -0
  212. package/.next/static/chunks/app/api/fs/recent-paths/route-e3626364434d521b.js +1 -0
  213. package/.next/static/chunks/app/api/hooks/agent-event/route-e3626364434d521b.js +1 -0
  214. package/.next/static/chunks/app/api/hooks/claude-done/route-e3626364434d521b.js +1 -0
  215. package/.next/static/chunks/app/api/hooks/permission-request/route-e3626364434d521b.js +1 -0
  216. package/.next/static/chunks/app/api/metrics/vibe/route-e3626364434d521b.js +1 -0
  217. package/.next/static/chunks/app/api/ollama/models/route-e3626364434d521b.js +1 -0
  218. package/.next/static/chunks/app/api/push/escalation/route-e3626364434d521b.js +1 -0
  219. package/.next/static/chunks/app/api/push/subscriptions/route-e3626364434d521b.js +1 -0
  220. package/.next/static/chunks/app/api/push/vapid/route-e3626364434d521b.js +1 -0
  221. package/.next/static/chunks/app/api/remote/pair/route-e3626364434d521b.js +1 -0
  222. package/.next/static/chunks/app/api/repositories/[id]/route-e3626364434d521b.js +1 -0
  223. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-e3626364434d521b.js +1 -0
  224. package/.next/static/chunks/app/api/repositories/[id]/todos/route-e3626364434d521b.js +1 -0
  225. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-e3626364434d521b.js +1 -0
  226. package/.next/static/chunks/app/api/repositories/clone/route-e3626364434d521b.js +1 -0
  227. package/.next/static/chunks/app/api/repositories/excluded/route-e3626364434d521b.js +1 -0
  228. package/.next/static/chunks/app/api/repositories/restore/route-e3626364434d521b.js +1 -0
  229. package/.next/static/chunks/app/api/repositories/route-e3626364434d521b.js +1 -0
  230. package/.next/static/chunks/app/api/repositories/scan/route-e3626364434d521b.js +1 -0
  231. package/.next/static/chunks/app/api/repositories/sync/route-e3626364434d521b.js +1 -0
  232. package/.next/static/chunks/app/api/repositories/validate-path/route-e3626364434d521b.js +1 -0
  233. package/.next/static/chunks/app/api/sidebar/group-order/route-e3626364434d521b.js +1 -0
  234. package/.next/static/chunks/app/api/skills/[id]/route-e3626364434d521b.js +1 -0
  235. package/.next/static/chunks/app/api/skills/installations/route-e3626364434d521b.js +1 -0
  236. package/.next/static/chunks/app/api/skills/operations/route-e3626364434d521b.js +1 -0
  237. package/.next/static/chunks/app/api/skills/reindex/route-e3626364434d521b.js +1 -0
  238. package/.next/static/chunks/app/api/skills/route-e3626364434d521b.js +1 -0
  239. package/.next/static/chunks/app/api/slash-commands/route-e3626364434d521b.js +1 -0
  240. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-e3626364434d521b.js +1 -0
  241. package/.next/static/chunks/app/api/tasks/[taskId]/route-e3626364434d521b.js +1 -0
  242. package/.next/static/chunks/app/api/templates/[id]/route-e3626364434d521b.js +1 -0
  243. package/.next/static/chunks/app/api/templates/route-e3626364434d521b.js +1 -0
  244. package/.next/static/chunks/app/api/todos/route-e3626364434d521b.js +1 -0
  245. package/.next/static/chunks/app/api/verification/runs/[runId]/route-e3626364434d521b.js +1 -0
  246. package/.next/static/chunks/app/api/verification/runs/route-e3626364434d521b.js +1 -0
  247. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-e3626364434d521b.js +1 -0
  248. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-e3626364434d521b.js +1 -0
  249. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-e3626364434d521b.js +1 -0
  250. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-e3626364434d521b.js +1 -0
  251. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-e3626364434d521b.js +1 -0
  252. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-e3626364434d521b.js +1 -0
  253. package/.next/static/chunks/app/api/worktrees/[id]/env/route-e3626364434d521b.js +1 -0
  254. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-e3626364434d521b.js +1 -0
  255. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-e3626364434d521b.js +1 -0
  256. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-e3626364434d521b.js +1 -0
  257. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-e3626364434d521b.js +1 -0
  258. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-e3626364434d521b.js +1 -0
  259. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-e3626364434d521b.js +1 -0
  260. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-e3626364434d521b.js +1 -0
  261. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-e3626364434d521b.js +1 -0
  262. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-e3626364434d521b.js +1 -0
  263. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-e3626364434d521b.js +1 -0
  264. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-e3626364434d521b.js +1 -0
  265. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-e3626364434d521b.js +1 -0
  266. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-e3626364434d521b.js +1 -0
  267. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-e3626364434d521b.js +1 -0
  268. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-e3626364434d521b.js +1 -0
  269. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-e3626364434d521b.js +1 -0
  270. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-e3626364434d521b.js +1 -0
  271. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-e3626364434d521b.js +1 -0
  272. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-e3626364434d521b.js +1 -0
  273. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-e3626364434d521b.js +1 -0
  274. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-e3626364434d521b.js +1 -0
  275. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-e3626364434d521b.js +1 -0
  276. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-e3626364434d521b.js +1 -0
  277. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-e3626364434d521b.js +1 -0
  278. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-e3626364434d521b.js +1 -0
  279. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-e3626364434d521b.js +1 -0
  280. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-e3626364434d521b.js +1 -0
  281. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-e3626364434d521b.js +1 -0
  282. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-e3626364434d521b.js +1 -0
  283. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-e3626364434d521b.js +1 -0
  284. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-e3626364434d521b.js +1 -0
  285. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-e3626364434d521b.js +1 -0
  286. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-e3626364434d521b.js +1 -0
  287. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-e3626364434d521b.js +1 -0
  288. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-e3626364434d521b.js +1 -0
  289. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-e3626364434d521b.js +1 -0
  290. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-e3626364434d521b.js +1 -0
  291. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-e3626364434d521b.js +1 -0
  292. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-e3626364434d521b.js +1 -0
  293. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-e3626364434d521b.js +1 -0
  294. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-e3626364434d521b.js +1 -0
  295. package/.next/static/chunks/app/api/worktrees/[id]/route-e3626364434d521b.js +1 -0
  296. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-e3626364434d521b.js +1 -0
  297. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-e3626364434d521b.js +1 -0
  298. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-e3626364434d521b.js +1 -0
  299. package/.next/static/chunks/app/api/worktrees/[id]/search/route-e3626364434d521b.js +1 -0
  300. package/.next/static/chunks/app/api/worktrees/[id]/send/route-e3626364434d521b.js +1 -0
  301. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-e3626364434d521b.js +1 -0
  302. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-e3626364434d521b.js +1 -0
  303. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-e3626364434d521b.js +1 -0
  304. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-e3626364434d521b.js +1 -0
  305. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-e3626364434d521b.js +1 -0
  306. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-e3626364434d521b.js +1 -0
  307. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-e3626364434d521b.js +1 -0
  308. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-e3626364434d521b.js +1 -0
  309. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-e3626364434d521b.js +1 -0
  310. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-e3626364434d521b.js +1 -0
  311. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-e3626364434d521b.js +1 -0
  312. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-e3626364434d521b.js +1 -0
  313. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-e3626364434d521b.js +1 -0
  314. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-e3626364434d521b.js +1 -0
  315. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-e3626364434d521b.js +1 -0
  316. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-e3626364434d521b.js +1 -0
  317. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-e3626364434d521b.js +1 -0
  318. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-e3626364434d521b.js +1 -0
  319. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-e3626364434d521b.js +1 -0
  320. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-e3626364434d521b.js +1 -0
  321. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-e3626364434d521b.js +1 -0
  322. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-e3626364434d521b.js +1 -0
  323. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-e3626364434d521b.js +1 -0
  324. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-e3626364434d521b.js +1 -0
  325. package/.next/static/chunks/app/api/worktrees/route-e3626364434d521b.js +1 -0
  326. package/.next/static/chunks/app/login/page-03659dded846ef1d.js +1 -0
  327. package/.next/static/chunks/app/manifest.webmanifest/route-e3626364434d521b.js +1 -0
  328. package/.next/static/chunks/app/proxy/[...path]/route-e3626364434d521b.js +1 -0
  329. package/.next/static/chunks/app/worktrees/[id]/layout-e3626364434d521b.js +1 -0
  330. package/.next/static/chunks/app/worktrees/[id]/page-817378dd7c580774.js +1 -0
  331. package/.next/static/chunks/webpack-7e79064bfce988d7.js +1 -0
  332. package/.next/static/css/6266bde3bce465a2.css +1 -0
  333. package/.next/trace +13 -13
  334. package/.next/types/app/api/remote/pair/route.ts +347 -0
  335. package/.next/types/routes.d.ts +2 -1
  336. package/.next/types/validator.ts +9 -0
  337. package/README.md +15 -3
  338. package/dist/cli/commands/remote.d.ts +248 -0
  339. package/dist/cli/commands/remote.d.ts.map +1 -0
  340. package/dist/cli/commands/remote.js +849 -0
  341. package/dist/cli/config/security-messages.d.ts +25 -0
  342. package/dist/cli/config/security-messages.d.ts.map +1 -1
  343. package/dist/cli/config/security-messages.js +43 -1
  344. package/dist/cli/program.d.ts.map +1 -1
  345. package/dist/cli/program.js +6 -0
  346. package/dist/cli/types/index.d.ts +20 -0
  347. package/dist/cli/types/index.d.ts.map +1 -1
  348. package/dist/cli/utils/qr-terminal.d.ts +54 -0
  349. package/dist/cli/utils/qr-terminal.d.ts.map +1 -0
  350. package/dist/cli/utils/qr-terminal.js +181 -0
  351. package/dist/cli/utils/remote-state.d.ts +123 -0
  352. package/dist/cli/utils/remote-state.d.ts.map +1 -0
  353. package/dist/cli/utils/remote-state.js +193 -0
  354. package/dist/config/auth-config.d.ts +1 -1
  355. package/dist/config/auth-config.d.ts.map +1 -1
  356. package/dist/config/auth-config.js +5 -0
  357. package/dist/lib/remote/cloudflare.d.ts +285 -0
  358. package/dist/lib/remote/cloudflare.d.ts.map +1 -0
  359. package/dist/lib/remote/cloudflare.js +619 -0
  360. package/dist/lib/remote/index.d.ts +17 -0
  361. package/dist/lib/remote/index.d.ts.map +1 -0
  362. package/dist/lib/remote/index.js +64 -0
  363. package/dist/lib/remote/provider-registry.d.ts +29 -0
  364. package/dist/lib/remote/provider-registry.d.ts.map +1 -0
  365. package/dist/lib/remote/provider-registry.js +73 -0
  366. package/dist/lib/remote/tailscale.d.ts +268 -0
  367. package/dist/lib/remote/tailscale.d.ts.map +1 -0
  368. package/dist/lib/remote/tailscale.js +546 -0
  369. package/dist/lib/remote/types.d.ts +127 -0
  370. package/dist/lib/remote/types.d.ts.map +1 -0
  371. package/dist/lib/remote/types.js +53 -0
  372. package/dist/lib/security/pairing-code.d.ts +182 -0
  373. package/dist/lib/security/pairing-code.d.ts.map +1 -0
  374. package/dist/lib/security/pairing-code.js +265 -0
  375. package/dist/server/src/config/auth-config.js +5 -0
  376. package/package.json +2 -1
  377. package/.next/static/0GHE2JGlFzqvSBZAcBFSt/_buildManifest.js +0 -1
  378. package/.next/static/chunks/5229-1f5f19740a8d6c11.js +0 -1
  379. package/.next/static/chunks/6271.295ced91b6335f18.js +0 -1
  380. package/.next/static/chunks/6381-d921ab728eda1191.js +0 -1
  381. package/.next/static/chunks/app/api/app/update/route-9247d6b9d647f750.js +0 -1
  382. package/.next/static/chunks/app/api/app/update-check/route-9247d6b9d647f750.js +0 -1
  383. package/.next/static/chunks/app/api/assistant/conversation/route-9247d6b9d647f750.js +0 -1
  384. package/.next/static/chunks/app/api/assistant/current-output/route-9247d6b9d647f750.js +0 -1
  385. package/.next/static/chunks/app/api/assistant/messages/route-9247d6b9d647f750.js +0 -1
  386. package/.next/static/chunks/app/api/assistant/session/route-9247d6b9d647f750.js +0 -1
  387. package/.next/static/chunks/app/api/assistant/start/route-9247d6b9d647f750.js +0 -1
  388. package/.next/static/chunks/app/api/assistant/terminal/route-9247d6b9d647f750.js +0 -1
  389. package/.next/static/chunks/app/api/assistant/tools/route-9247d6b9d647f750.js +0 -1
  390. package/.next/static/chunks/app/api/auth/login/route-9247d6b9d647f750.js +0 -1
  391. package/.next/static/chunks/app/api/auth/logout/route-9247d6b9d647f750.js +0 -1
  392. package/.next/static/chunks/app/api/auth/status/route-9247d6b9d647f750.js +0 -1
  393. package/.next/static/chunks/app/api/capabilities/route-9247d6b9d647f750.js +0 -1
  394. package/.next/static/chunks/app/api/daily-summary/route-9247d6b9d647f750.js +0 -1
  395. package/.next/static/chunks/app/api/daily-summary/status/route-9247d6b9d647f750.js +0 -1
  396. package/.next/static/chunks/app/api/external-apps/[id]/health/route-9247d6b9d647f750.js +0 -1
  397. package/.next/static/chunks/app/api/external-apps/[id]/route-9247d6b9d647f750.js +0 -1
  398. package/.next/static/chunks/app/api/external-apps/route-9247d6b9d647f750.js +0 -1
  399. package/.next/static/chunks/app/api/fs/browse/route-9247d6b9d647f750.js +0 -1
  400. package/.next/static/chunks/app/api/fs/recent-paths/route-9247d6b9d647f750.js +0 -1
  401. package/.next/static/chunks/app/api/hooks/agent-event/route-9247d6b9d647f750.js +0 -1
  402. package/.next/static/chunks/app/api/hooks/claude-done/route-9247d6b9d647f750.js +0 -1
  403. package/.next/static/chunks/app/api/hooks/permission-request/route-9247d6b9d647f750.js +0 -1
  404. package/.next/static/chunks/app/api/metrics/vibe/route-9247d6b9d647f750.js +0 -1
  405. package/.next/static/chunks/app/api/ollama/models/route-9247d6b9d647f750.js +0 -1
  406. package/.next/static/chunks/app/api/push/escalation/route-9247d6b9d647f750.js +0 -1
  407. package/.next/static/chunks/app/api/push/subscriptions/route-9247d6b9d647f750.js +0 -1
  408. package/.next/static/chunks/app/api/push/vapid/route-9247d6b9d647f750.js +0 -1
  409. package/.next/static/chunks/app/api/repositories/[id]/route-9247d6b9d647f750.js +0 -1
  410. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-9247d6b9d647f750.js +0 -1
  411. package/.next/static/chunks/app/api/repositories/[id]/todos/route-9247d6b9d647f750.js +0 -1
  412. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-9247d6b9d647f750.js +0 -1
  413. package/.next/static/chunks/app/api/repositories/clone/route-9247d6b9d647f750.js +0 -1
  414. package/.next/static/chunks/app/api/repositories/excluded/route-9247d6b9d647f750.js +0 -1
  415. package/.next/static/chunks/app/api/repositories/restore/route-9247d6b9d647f750.js +0 -1
  416. package/.next/static/chunks/app/api/repositories/route-9247d6b9d647f750.js +0 -1
  417. package/.next/static/chunks/app/api/repositories/scan/route-9247d6b9d647f750.js +0 -1
  418. package/.next/static/chunks/app/api/repositories/sync/route-9247d6b9d647f750.js +0 -1
  419. package/.next/static/chunks/app/api/repositories/validate-path/route-9247d6b9d647f750.js +0 -1
  420. package/.next/static/chunks/app/api/sidebar/group-order/route-9247d6b9d647f750.js +0 -1
  421. package/.next/static/chunks/app/api/skills/[id]/route-9247d6b9d647f750.js +0 -1
  422. package/.next/static/chunks/app/api/skills/installations/route-9247d6b9d647f750.js +0 -1
  423. package/.next/static/chunks/app/api/skills/operations/route-9247d6b9d647f750.js +0 -1
  424. package/.next/static/chunks/app/api/skills/reindex/route-9247d6b9d647f750.js +0 -1
  425. package/.next/static/chunks/app/api/skills/route-9247d6b9d647f750.js +0 -1
  426. package/.next/static/chunks/app/api/slash-commands/route-9247d6b9d647f750.js +0 -1
  427. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-9247d6b9d647f750.js +0 -1
  428. package/.next/static/chunks/app/api/tasks/[taskId]/route-9247d6b9d647f750.js +0 -1
  429. package/.next/static/chunks/app/api/templates/[id]/route-9247d6b9d647f750.js +0 -1
  430. package/.next/static/chunks/app/api/templates/route-9247d6b9d647f750.js +0 -1
  431. package/.next/static/chunks/app/api/todos/route-9247d6b9d647f750.js +0 -1
  432. package/.next/static/chunks/app/api/verification/runs/[runId]/route-9247d6b9d647f750.js +0 -1
  433. package/.next/static/chunks/app/api/verification/runs/route-9247d6b9d647f750.js +0 -1
  434. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-9247d6b9d647f750.js +0 -1
  435. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-9247d6b9d647f750.js +0 -1
  436. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-9247d6b9d647f750.js +0 -1
  437. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-9247d6b9d647f750.js +0 -1
  438. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-9247d6b9d647f750.js +0 -1
  439. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-9247d6b9d647f750.js +0 -1
  440. package/.next/static/chunks/app/api/worktrees/[id]/env/route-9247d6b9d647f750.js +0 -1
  441. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-9247d6b9d647f750.js +0 -1
  442. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-9247d6b9d647f750.js +0 -1
  443. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-9247d6b9d647f750.js +0 -1
  444. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-9247d6b9d647f750.js +0 -1
  445. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-9247d6b9d647f750.js +0 -1
  446. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-9247d6b9d647f750.js +0 -1
  447. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-9247d6b9d647f750.js +0 -1
  448. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-9247d6b9d647f750.js +0 -1
  449. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-9247d6b9d647f750.js +0 -1
  450. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-9247d6b9d647f750.js +0 -1
  451. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-9247d6b9d647f750.js +0 -1
  452. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-9247d6b9d647f750.js +0 -1
  453. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-9247d6b9d647f750.js +0 -1
  454. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-9247d6b9d647f750.js +0 -1
  455. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-9247d6b9d647f750.js +0 -1
  456. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-9247d6b9d647f750.js +0 -1
  457. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-9247d6b9d647f750.js +0 -1
  458. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-9247d6b9d647f750.js +0 -1
  459. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-9247d6b9d647f750.js +0 -1
  460. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-9247d6b9d647f750.js +0 -1
  461. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-9247d6b9d647f750.js +0 -1
  462. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-9247d6b9d647f750.js +0 -1
  463. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-9247d6b9d647f750.js +0 -1
  464. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-9247d6b9d647f750.js +0 -1
  465. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-9247d6b9d647f750.js +0 -1
  466. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-9247d6b9d647f750.js +0 -1
  467. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-9247d6b9d647f750.js +0 -1
  468. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-9247d6b9d647f750.js +0 -1
  469. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-9247d6b9d647f750.js +0 -1
  470. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-9247d6b9d647f750.js +0 -1
  471. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-9247d6b9d647f750.js +0 -1
  472. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-9247d6b9d647f750.js +0 -1
  473. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-9247d6b9d647f750.js +0 -1
  474. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-9247d6b9d647f750.js +0 -1
  475. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-9247d6b9d647f750.js +0 -1
  476. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-9247d6b9d647f750.js +0 -1
  477. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-9247d6b9d647f750.js +0 -1
  478. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-9247d6b9d647f750.js +0 -1
  479. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-9247d6b9d647f750.js +0 -1
  480. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-9247d6b9d647f750.js +0 -1
  481. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-9247d6b9d647f750.js +0 -1
  482. package/.next/static/chunks/app/api/worktrees/[id]/route-9247d6b9d647f750.js +0 -1
  483. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-9247d6b9d647f750.js +0 -1
  484. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-9247d6b9d647f750.js +0 -1
  485. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-9247d6b9d647f750.js +0 -1
  486. package/.next/static/chunks/app/api/worktrees/[id]/search/route-9247d6b9d647f750.js +0 -1
  487. package/.next/static/chunks/app/api/worktrees/[id]/send/route-9247d6b9d647f750.js +0 -1
  488. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-9247d6b9d647f750.js +0 -1
  489. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-9247d6b9d647f750.js +0 -1
  490. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-9247d6b9d647f750.js +0 -1
  491. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-9247d6b9d647f750.js +0 -1
  492. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-9247d6b9d647f750.js +0 -1
  493. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-9247d6b9d647f750.js +0 -1
  494. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-9247d6b9d647f750.js +0 -1
  495. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-9247d6b9d647f750.js +0 -1
  496. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-9247d6b9d647f750.js +0 -1
  497. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-9247d6b9d647f750.js +0 -1
  498. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-9247d6b9d647f750.js +0 -1
  499. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-9247d6b9d647f750.js +0 -1
  500. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-9247d6b9d647f750.js +0 -1
  501. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-9247d6b9d647f750.js +0 -1
  502. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-9247d6b9d647f750.js +0 -1
  503. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-9247d6b9d647f750.js +0 -1
  504. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-9247d6b9d647f750.js +0 -1
  505. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-9247d6b9d647f750.js +0 -1
  506. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-9247d6b9d647f750.js +0 -1
  507. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-9247d6b9d647f750.js +0 -1
  508. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-9247d6b9d647f750.js +0 -1
  509. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-9247d6b9d647f750.js +0 -1
  510. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-9247d6b9d647f750.js +0 -1
  511. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-9247d6b9d647f750.js +0 -1
  512. package/.next/static/chunks/app/api/worktrees/route-9247d6b9d647f750.js +0 -1
  513. package/.next/static/chunks/app/login/page-adc51f0f7cbb7ac6.js +0 -1
  514. package/.next/static/chunks/app/manifest.webmanifest/route-9247d6b9d647f750.js +0 -1
  515. package/.next/static/chunks/app/proxy/[...path]/route-9247d6b9d647f750.js +0 -1
  516. package/.next/static/chunks/app/worktrees/[id]/layout-9247d6b9d647f750.js +0 -1
  517. package/.next/static/chunks/app/worktrees/[id]/page-27b7cb2e77099eec.js +0 -1
  518. package/.next/static/chunks/webpack-6a9668cf54a26eba.js +0 -1
  519. package/.next/static/css/98722bc4152cedcc.css +0 -1
  520. /package/.next/static/{0GHE2JGlFzqvSBZAcBFSt → Dvfs4ZThl5vBhJGP-ZQuJ}/_ssgManifest.js +0 -0
@@ -12,4 +12,29 @@
12
12
  * Issue #331: Added --auth as a recommended option
13
13
  */
14
14
  export declare const REVERSE_PROXY_WARNING: string;
15
+ /**
16
+ * Approval prompt shown before a public Cloudflare Quick Tunnel is created
17
+ * (Issue #1937, R9 — design §6.4).
18
+ *
19
+ * Lives here, beside {@link REVERSE_PROXY_WARNING}, because it is the same kind
20
+ * of statement: "this next step puts the machine somewhere it was not". Keeping
21
+ * the two together is also what stops the wording from drifting into the
22
+ * orchestrator, where a future refactor could quietly reword or skip it.
23
+ *
24
+ * The Provider never prints this. Selection and approval are the orchestrator's
25
+ * responsibility (§6.2): a prompt inside a Provider would have to re-derive
26
+ * interactive-vs-not per Provider, and its answer would be invisible to the
27
+ * caller that has to honour `--yes`.
28
+ */
29
+ export declare const QUICK_TUNNEL_APPROVAL_WARNING: string;
30
+ /** The yes/no question asked after {@link QUICK_TUNNEL_APPROVAL_WARNING}. */
31
+ export declare const QUICK_TUNNEL_APPROVAL_QUESTION = "Create a public Cloudflare Quick Tunnel now?";
32
+ /**
33
+ * Refusal shown when approval cannot be asked for (no TTY) and `--yes` is absent.
34
+ *
35
+ * Defaulting to "yes" here would make a scripted invocation publish the machine
36
+ * without anyone having said so, which is why this path is a CONFIG_ERROR
37
+ * rather than a prompt-less approval.
38
+ */
39
+ export declare const QUICK_TUNNEL_APPROVAL_REQUIRED = "Creating a public Quick Tunnel requires explicit approval. Re-run with --yes to approve it, or use --provider tailscale.";
15
40
  //# sourceMappingURL=security-messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-messages.d.ts","sourceRoot":"","sources":["../../../src/cli/config/security-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAkBjC,CAAC"}
1
+ {"version":3,"file":"security-messages.d.ts","sourceRoot":"","sources":["../../../src/cli/config/security-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAkBjC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,6BAA6B,QAiBzC,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,8BAA8B,iDACK,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,6HACiF,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * [SF-002] GitHub URLs imported from github-links.ts (DRY)
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.REVERSE_PROXY_WARNING = void 0;
11
+ exports.QUICK_TUNNEL_APPROVAL_REQUIRED = exports.QUICK_TUNNEL_APPROVAL_QUESTION = exports.QUICK_TUNNEL_APPROVAL_WARNING = exports.REVERSE_PROXY_WARNING = void 0;
12
12
  const github_links_1 = require("../../config/github-links");
13
13
  /**
14
14
  * Warning message displayed when CM_BIND=0.0.0.0 and --auth is not enabled
@@ -34,3 +34,45 @@ or built-in token auth is a serious security risk.
34
34
 
35
35
  Details: ${github_links_1.GITHUB_SECURITY_GUIDE_URL}
36
36
  `;
37
+ /**
38
+ * Approval prompt shown before a public Cloudflare Quick Tunnel is created
39
+ * (Issue #1937, R9 — design §6.4).
40
+ *
41
+ * Lives here, beside {@link REVERSE_PROXY_WARNING}, because it is the same kind
42
+ * of statement: "this next step puts the machine somewhere it was not". Keeping
43
+ * the two together is also what stops the wording from drifting into the
44
+ * orchestrator, where a future refactor could quietly reword or skip it.
45
+ *
46
+ * The Provider never prints this. Selection and approval are the orchestrator's
47
+ * responsibility (§6.2): a prompt inside a Provider would have to re-derive
48
+ * interactive-vs-not per Provider, and its answer would be invisible to the
49
+ * caller that has to honour `--yes`.
50
+ */
51
+ exports.QUICK_TUNNEL_APPROVAL_WARNING = `
52
+ \x1b[1m\x1b[33mWARNING: A Cloudflare Quick Tunnel exposes this machine on the public internet\x1b[0m
53
+
54
+ cloudflared creates a temporary https://<random>.trycloudflare.com address.
55
+ Anyone who learns that address can reach it, and the traffic passes through
56
+ Cloudflare. CommandMate answers with token authentication enabled, so a visitor
57
+ without the pairing code is refused - but the listener itself is public.
58
+
59
+ \x1b[1mWhat is exposed:\x1b[0m
60
+ - The CommandMate server on 127.0.0.1 only, and nothing else on this machine
61
+ - Until the tunnel is closed (see --expires and "commandmate remote stop")
62
+
63
+ \x1b[1mA narrower option:\x1b[0m
64
+ Tailscale Serve publishes to your own tailnet instead of the public internet:
65
+ commandmate remote --provider tailscale
66
+
67
+ Details: ${github_links_1.GITHUB_SECURITY_GUIDE_URL}
68
+ `;
69
+ /** The yes/no question asked after {@link QUICK_TUNNEL_APPROVAL_WARNING}. */
70
+ exports.QUICK_TUNNEL_APPROVAL_QUESTION = 'Create a public Cloudflare Quick Tunnel now?';
71
+ /**
72
+ * Refusal shown when approval cannot be asked for (no TTY) and `--yes` is absent.
73
+ *
74
+ * Defaulting to "yes" here would make a scripted invocation publish the machine
75
+ * without anyone having said so, which is why this path is a CONFIG_ERROR
76
+ * rather than a prompt-less approval.
77
+ */
78
+ exports.QUICK_TUNNEL_APPROVAL_REQUIRED = 'Creating a public Quick Tunnel requires explicit approval. Re-run with --yes to approve it, or use --provider tailscale.';
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAkE5C;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAuLtC"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAoE5C;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,OAAO,CA4LtC"}
@@ -34,6 +34,8 @@ const report_1 = require("./commands/report");
34
34
  const instances_1 = require("./commands/instances");
35
35
  // Issue #1237: Skill management as a thin client over the Skill APIs
36
36
  const skill_1 = require("./commands/skill");
37
+ // Issue #1937 (R9): expose the server to a phone and pair it with a QR code
38
+ const remote_1 = require("./commands/remote");
37
39
  // Issue #1195: Guided quickstart for bare `npx commandmate`
38
40
  const quickstart_1 = require("./commands/quickstart");
39
41
  const prompt_1 = require("./utils/prompt");
@@ -225,6 +227,10 @@ function buildProgram() {
225
227
  program.addCommand((0, instances_1.createInstancesCommand)());
226
228
  // Issue #1237: Skill management (catalog / plan / install / uninstall / status)
227
229
  program.addCommand((0, skill_1.createSkillCommand)());
230
+ // Issue #1937 (R9): `remote` composes start + a Provider tunnel + pairing.
231
+ // Registered next to the server lifecycle commands it builds on rather than
232
+ // with the agent-orchestration group, which it has nothing to do with.
233
+ program.addCommand((0, remote_1.createRemoteCommand)());
228
234
  // Issue #264: AI Tool Integration help section
229
235
  program.addHelpText('after', `
230
236
  AI Tool Integration:
@@ -298,6 +298,26 @@ export interface SyncOptions {
298
298
  json?: boolean;
299
299
  token?: string;
300
300
  }
301
+ /**
302
+ * remote command options [Issue #1937 R9]
303
+ *
304
+ * No `token` field, and no Auto-Yes field, in either case deliberately:
305
+ * `remote` mints its own token (§5.1) and offers no way to turn Auto-Yes on
306
+ * (§5.5). See the header of `src/cli/commands/remote.ts`.
307
+ */
308
+ export interface RemoteOptions {
309
+ /** Force a provider: `tailscale` or `cloudflare` */
310
+ provider?: string;
311
+ /** Remote session TTL, 1h-30d (default 8h) */
312
+ expires?: string;
313
+ /** Pairing code TTL, 1m-24h (default 10m) */
314
+ pairingExpires?: string;
315
+ /** Port for the server that gets exposed; delegated to start */
316
+ port?: number;
317
+ /** Approve creating a public tunnel without prompting */
318
+ yes?: boolean;
319
+ json?: boolean;
320
+ }
301
321
  /** send command options [Issue #518, #576] */
302
322
  export interface SendOptions {
303
323
  agent?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,oBAAY,QAAQ;IAClB,OAAO,IAAI;IACX,gBAAgB,IAAI;IACpB,YAAY,IAAI;IAChB,YAAY,IAAI;IAChB,WAAW,IAAI;IACf,8FAA8F;IAC9F,aAAa,IAAI;IACjB,gBAAgB,KAAK;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,wBAAwB;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,gFAAgF;IAChF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,kBAAkB,CAAC;IAC9C,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;IAGvB;;;;;;;;;;;;;;;;;;OAkBG;;;CAGK,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE1E;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;IAEzB,uDAAuD;;IAEvD,4EAA4E;;;CAGpE,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAWpD,CAAC;AAEF,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sCAAsC;AACtC,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa;;IAExB;;;;;OAKG;;IAEH,iHAAiH;;IAEjH,2GAA2G;;CAEnG,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB;;IAE5B;;;;;;;;OAQG;;CAEK,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEzF,qDAAqD;AACrD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8CAA8C;AAC9C,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iDAAiD;AACjD,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,0CAA0C;AAC1C,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAED,4CAA4C;AAC5C,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,yCAAyC;AACzC,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKtD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ export type QrErrorCorrectionLevel = 'L' | 'M' | 'Q' | 'H';
2
+ /** The QR spec's mandatory light border. Shrinking it breaks scanners. */
3
+ export declare const QR_QUIET_ZONE_MODULES = 4;
4
+ /** Assumed terminal width when the caller has none to offer. */
5
+ export declare const DEFAULT_TERMINAL_COLUMNS = 80;
6
+ export interface QrTerminalOptions {
7
+ /** Requested redundancy. Defaults to `'M'`, the usual QR default. */
8
+ errorCorrectionLevel?: QrErrorCorrectionLevel;
9
+ /** Terminal width to fit into. Defaults to {@link DEFAULT_TERMINAL_COLUMNS}. */
10
+ columns?: number;
11
+ /**
12
+ * Emit SGR colours so the symbol reads correctly on light *and* dark themes.
13
+ * With `false` the light modules are drawn as block glyphs, which only scans
14
+ * on a dark background. Callers should pass `false` when stdout is not a TTY.
15
+ * Defaults to `true`.
16
+ */
17
+ color?: boolean;
18
+ /**
19
+ * Drop to a lower redundancy level when the requested one is too wide.
20
+ * The quiet zone is never traded away - that would break scanning outright.
21
+ * Defaults to `true`.
22
+ */
23
+ allowLevelDowngrade?: boolean;
24
+ }
25
+ export interface QrTerminalRender {
26
+ /** Rows of the symbol. Empty when `fits` is false. */
27
+ lines: string[];
28
+ /** Width of each line in terminal cells, including the quiet zone. */
29
+ columns: number;
30
+ /** Number of terminal rows the symbol occupies. */
31
+ rows: number;
32
+ /** Modules per side, excluding the quiet zone. */
33
+ moduleCount: number;
34
+ /** QR version (1-40) that `qr.js` selected. */
35
+ version: number;
36
+ /** Redundancy actually used, which may be below the requested level. */
37
+ errorCorrectionLevel: QrErrorCorrectionLevel;
38
+ /** True when the requested level had to be lowered to fit. */
39
+ downgraded: boolean;
40
+ /** False when even the smallest allowed symbol is wider than `columns`. */
41
+ fits: boolean;
42
+ }
43
+ /**
44
+ * Encodes `text` and lays it out for a terminal of `columns` cells.
45
+ *
46
+ * Returns `fits: false` with no lines rather than something that would wrap.
47
+ */
48
+ export declare function renderQrToTerminal(text: string, options?: QrTerminalOptions): QrTerminalRender;
49
+ /**
50
+ * Convenience wrapper for printing: the symbol when it fits, `null` when it
51
+ * does not. A `null` return is the caller's cue to show the URL as text.
52
+ */
53
+ export declare function formatQrForTerminal(text: string, options?: QrTerminalOptions): string | null;
54
+ //# sourceMappingURL=qr-terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-terminal.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/qr-terminal.ts"],"names":[],"mappings":"AAgDA,MAAM,MAAM,sBAAsB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAgB3D,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,gEAAgE;AAChE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAkB3C,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;IAC9C,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,8DAA8D;IAC9D,UAAU,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,CAuClB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,MAAM,GAAG,IAAI,CAGf"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_TERMINAL_COLUMNS = exports.QR_QUIET_ZONE_MODULES = void 0;
4
+ exports.renderQrToTerminal = renderQrToTerminal;
5
+ exports.formatQrForTerminal = formatQrForTerminal;
6
+ /**
7
+ * Renders a URL as a QR code the terminal can display (Issue #1937, R8).
8
+ *
9
+ * ## Why `qr.js`, and why through `lib/` (U-1)
10
+ *
11
+ * `react-qr-code` is React-only, so the CLI cannot reuse it. The three
12
+ * candidates in the design note were measured; see
13
+ * `dev-reports/issue/1937/u1-qr-dependency.md` for the numbers. In short:
14
+ * `qr.js` is already resolved in this tree as `react-qr-code`'s pinned
15
+ * dependency, so promoting it to a direct dependency adds **zero** install
16
+ * bytes, against +5.3 MB / +31 packages for `qrcode` (which drags in `yargs`).
17
+ *
18
+ * Two consequences of that choice are load-bearing:
19
+ *
20
+ * 1. **We load `qr.js/lib/QRCode`, not the package facade.** The facade does
21
+ * `opt.errorCorrectLevel || ErrorCorrectLevel.H`, and `ErrorCorrectLevel.M`
22
+ * is `0` - so asking the facade for M silently gets you H. Measured on
23
+ * qr.js@0.0.0: `qrcode('abc', {errorCorrectLevel: 0}).errorCorrectLevel === 2`.
24
+ * A test pins that M really produces an M-sized symbol here.
25
+ * 2. **`qr.js` ships no type declarations**, and `tsconfig.cli.json` has no
26
+ * `allowJs`, so a plain `import` fails `build:cli` with TS7016. The module is
27
+ * loaded through `createRequire` and given the narrow local interface below.
28
+ *
29
+ * ## Rendering
30
+ *
31
+ * One character cell carries two module rows (an upper half block), which is
32
+ * what keeps modules roughly square in a terminal and halves the line count. A
33
+ * 115-character tunnel URL at level M is a 45x45 symbol: **53 columns** with the
34
+ * mandatory 4-module quiet zone, so it fits an 80-column terminal.
35
+ *
36
+ * A QR code that the terminal soft-wraps is unscannable, so this module never
37
+ * emits one it knows to be too wide: it reports `fits: false` and lets the
38
+ * caller print the URL as text instead.
39
+ */
40
+ const node_module_1 = require("node:module");
41
+ const requireCjs = (0, node_module_1.createRequire)(__filename);
42
+ /**
43
+ * qr.js's numeric codes. These are the QR spec's format-info values, not an
44
+ * ordering - note that M is 0, which is the whole reason for the note above.
45
+ */
46
+ const ERROR_CORRECT_LEVEL = {
47
+ L: 1,
48
+ M: 0,
49
+ Q: 3,
50
+ H: 2,
51
+ };
52
+ /** Most redundancy first. The fallback ladder walks this list rightwards. */
53
+ const LEVELS_BY_REDUNDANCY = ['H', 'Q', 'M', 'L'];
54
+ /** The QR spec's mandatory light border. Shrinking it breaks scanners. */
55
+ exports.QR_QUIET_ZONE_MODULES = 4;
56
+ /** Assumed terminal width when the caller has none to offer. */
57
+ exports.DEFAULT_TERMINAL_COLUMNS = 80;
58
+ const UPPER_HALF = '▀';
59
+ const LOWER_HALF = '▄';
60
+ const FULL_BLOCK = '█';
61
+ const SPACE = ' ';
62
+ /**
63
+ * Written as a char code rather than a literal escape byte: raw C0 bytes in
64
+ * `src/` are a CI failure (`scripts/check-control-chars.mjs`, Issue #1432).
65
+ */
66
+ const ESC = String.fromCharCode(27);
67
+ const SGR_RESET = `${ESC}[0m`;
68
+ const FG_DARK = 30; // black
69
+ const FG_LIGHT = 97; // bright white
70
+ const BG_DARK = 40;
71
+ const BG_LIGHT = 107;
72
+ /**
73
+ * Encodes `text` and lays it out for a terminal of `columns` cells.
74
+ *
75
+ * Returns `fits: false` with no lines rather than something that would wrap.
76
+ */
77
+ function renderQrToTerminal(text, options = {}) {
78
+ if (typeof text !== 'string' || text.length === 0) {
79
+ throw new Error('renderQrToTerminal: text must be a non-empty string');
80
+ }
81
+ const requested = options.errorCorrectionLevel ?? 'M';
82
+ const columns = options.columns ?? exports.DEFAULT_TERMINAL_COLUMNS;
83
+ const color = options.color ?? true;
84
+ const allowDowngrade = options.allowLevelDowngrade ?? true;
85
+ const ladder = allowDowngrade
86
+ ? LEVELS_BY_REDUNDANCY.slice(LEVELS_BY_REDUNDANCY.indexOf(requested))
87
+ : [requested];
88
+ let smallest = null;
89
+ for (const level of ladder) {
90
+ const symbol = encode(text, level);
91
+ const width = symbol.moduleCount + exports.QR_QUIET_ZONE_MODULES * 2;
92
+ const candidate = {
93
+ lines: [],
94
+ columns: width,
95
+ rows: Math.ceil(width / 2),
96
+ moduleCount: symbol.moduleCount,
97
+ version: symbol.typeNumber,
98
+ errorCorrectionLevel: level,
99
+ downgraded: level !== requested,
100
+ fits: width <= columns,
101
+ };
102
+ if (candidate.fits) {
103
+ candidate.lines = layout(symbol, color);
104
+ return candidate;
105
+ }
106
+ // Keep the last (smallest) attempt so the caller can report how wide the
107
+ // symbol would have had to be.
108
+ smallest = candidate;
109
+ }
110
+ // `ladder` always has at least one entry, so `smallest` is set here.
111
+ return smallest;
112
+ }
113
+ /**
114
+ * Convenience wrapper for printing: the symbol when it fits, `null` when it
115
+ * does not. A `null` return is the caller's cue to show the URL as text.
116
+ */
117
+ function formatQrForTerminal(text, options = {}) {
118
+ const render = renderQrToTerminal(text, options);
119
+ return render.fits ? render.lines.join('\n') : null;
120
+ }
121
+ function encode(text, level) {
122
+ const QRCode = requireCjs('qr.js/lib/QRCode');
123
+ const code = new QRCode(-1, ERROR_CORRECT_LEVEL[level]);
124
+ // qr.js's byte-mode writer does `charCodeAt(i)` into an 8-bit slot, so any
125
+ // code point above U+00FF would be truncated. Re-expressing the string as its
126
+ // UTF-8 bytes (one byte per latin1 char) is what makes a non-ASCII URL encode
127
+ // to the bytes a scanner will decode back as UTF-8.
128
+ code.addData(Buffer.from(text, 'utf8').toString('latin1'));
129
+ code.make();
130
+ return code;
131
+ }
132
+ /** Two module rows per terminal row, with the quiet zone drawn in. */
133
+ function layout(code, color) {
134
+ const quiet = exports.QR_QUIET_ZONE_MODULES;
135
+ const width = code.moduleCount + quiet * 2;
136
+ const isDark = (row, col) => {
137
+ const r = row - quiet;
138
+ const c = col - quiet;
139
+ if (r < 0 || c < 0 || r >= code.moduleCount || c >= code.moduleCount)
140
+ return false;
141
+ return code.isDark(r, c) === true;
142
+ };
143
+ const lines = [];
144
+ for (let row = 0; row < width; row += 2) {
145
+ const cells = [];
146
+ let pending = '';
147
+ for (let col = 0; col < width; col++) {
148
+ const top = isDark(row, col);
149
+ // An odd height leaves the final row with no bottom half; treat the
150
+ // missing module as light so the quiet zone stays intact.
151
+ const bottom = row + 1 < width ? isDark(row + 1, col) : false;
152
+ if (color) {
153
+ const sgr = `${ESC}[${top ? FG_DARK : FG_LIGHT};${bottom ? BG_DARK : BG_LIGHT}m`;
154
+ if (sgr !== pending) {
155
+ cells.push(sgr);
156
+ pending = sgr;
157
+ }
158
+ cells.push(UPPER_HALF);
159
+ }
160
+ else {
161
+ cells.push(glyph(top, bottom));
162
+ }
163
+ }
164
+ lines.push(color ? cells.join('') + SGR_RESET : cells.join(''));
165
+ }
166
+ return lines;
167
+ }
168
+ /**
169
+ * Uncoloured mapping: light modules are drawn, dark modules are left as the
170
+ * terminal background. Correct on a dark background, inverted on a light one -
171
+ * which is why colour is the default.
172
+ */
173
+ function glyph(topDark, bottomDark) {
174
+ if (topDark && bottomDark)
175
+ return SPACE;
176
+ if (topDark)
177
+ return LOWER_HALF;
178
+ if (bottomDark)
179
+ return UPPER_HALF;
180
+ return FULL_BLOCK;
181
+ }
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Persisted state of one `commandmate remote` session (Issue #1937, R9).
3
+ *
4
+ * Design: `docs/design/remote-qr-pairing-1937.md` §6.3.
5
+ *
6
+ * ## Why this file exists at all
7
+ *
8
+ * `remote stop` must undo exactly what `remote up` created and nothing else.
9
+ * The Provider interface enforces that structurally — `stop()` takes a
10
+ * `RemoteHandle` and there is no `reset()` / `cleanupAll()` to reach for — but
11
+ * the two commands are separate processes, so the handle has to survive on
12
+ * disk between them. This module is that hop, and nothing more: it stores, it
13
+ * does not interpret.
14
+ *
15
+ * ## Why "unreadable" is not "guess"
16
+ *
17
+ * `readRemoteState()` answers `null` for absent, unparseable and structurally
18
+ * wrong alike, and `remote stop` turns all three into "I do not know what to
19
+ * clean up" and exits SUCCESS (§6.3-4). That is deliberate and is the whole
20
+ * reason the reader validates rather than casts: a half-read state file must
21
+ * never become a Provider teardown aimed at configuration the user created.
22
+ * `stop.ts` treats a stale PID file the same way.
23
+ *
24
+ * ## Format
25
+ *
26
+ * Plain JSON with a `schemaVersion`, not `PidManager`'s hybrid
27
+ * "bare PID line + JSON line" shape. That format exists so a CLI predating
28
+ * #1354 can still `parseInt()` the first line; nothing has ever read this file,
29
+ * so there is no such reader to stay compatible with, and a PID is not what
30
+ * this record is about.
31
+ *
32
+ * The file is written 0600 like the pairing handoff. It holds no secret — the
33
+ * pairing code and the session token are never in it — but it names a public
34
+ * URL that reaches this machine, and that is not something to leave
35
+ * world-readable.
36
+ */
37
+ import type { RemoteHandle, RemoteProviderId } from '../../lib/remote';
38
+ /** File name inside the config directory (`~/.commandmate` for global installs). */
39
+ export declare const REMOTE_STATE_FILE_NAME = "remote.json";
40
+ /** Owner read/write only. Asserted by tests, not merely intended. */
41
+ export declare const REMOTE_STATE_FILE_MODE = 384;
42
+ /**
43
+ * Bumped when a field changes meaning. A reader that does not recognise the
44
+ * version returns null, which routes to "nothing to clean up" rather than to a
45
+ * teardown driven by a record it does not understand.
46
+ */
47
+ export declare const REMOTE_STATE_SCHEMA_VERSION = 1;
48
+ /** What one remote session recorded for the commands that come after it. */
49
+ export interface RemoteState {
50
+ schemaVersion: number;
51
+ /** Which Provider is holding the door open. */
52
+ provider: RemoteProviderId;
53
+ /** Public URL the Provider published. Not a secret; the pairing code is. */
54
+ url: string;
55
+ /** ISO timestamp of when `remote up` finished. */
56
+ startedAt: string;
57
+ /**
58
+ * Epoch ms at which the outside door closes (`--expires`).
59
+ *
60
+ * This is the Provider's deadline only. The server's own token expiry is
61
+ * fixed independently at startup by `CM_AUTH_EXPIRE` -> `computeExpireAt()`,
62
+ * and the server is NOT stopped when this passes: killing it would take the
63
+ * user's local session down with the remote one (§5.3).
64
+ */
65
+ expiresAt: number;
66
+ /** Where the pairing handoff went, and when the code dies. */
67
+ pairing: {
68
+ /** Absolute path passed to the server as `CM_REMOTE_PAIRING_FILE`. */
69
+ filePath: string;
70
+ /** Epoch ms after which the pairing code is refused (`--pairing-expires`). */
71
+ expiresAt: number;
72
+ };
73
+ /** The Provider's own receipt. The only thing `stop()` is allowed to act on. */
74
+ handle: RemoteHandle;
75
+ /** The server this session exposed, for `remote status`. */
76
+ server: {
77
+ pid: number | null;
78
+ port: number;
79
+ };
80
+ }
81
+ /**
82
+ * Absolute path of the state file.
83
+ *
84
+ * @returns `<configDir>/remote.json`
85
+ */
86
+ export declare function getRemoteStatePath(): string;
87
+ /**
88
+ * Write the state file with mode 0600.
89
+ *
90
+ * An existing file is unlinked first: `writeFileSync`'s `mode` is only honoured
91
+ * on creation, so writing over a file left world-readable by something else
92
+ * would silently keep those permissions. Mirrors `writePairingHandoff()`.
93
+ *
94
+ * @param state - The session record to persist
95
+ * @param filePath - Override for the destination, for tests
96
+ */
97
+ export declare function writeRemoteState(state: RemoteState, filePath?: string): void;
98
+ /**
99
+ * Read and validate the state file.
100
+ *
101
+ * @param filePath - Override for the source, for tests
102
+ * @returns The state, or null when it is absent, unreadable or not this schema
103
+ */
104
+ export declare function readRemoteState(filePath?: string): RemoteState | null;
105
+ /**
106
+ * Delete the state file. Idempotent — a missing file is success.
107
+ *
108
+ * @param filePath - Override for the target, for tests
109
+ */
110
+ export declare function removeRemoteState(filePath?: string): void;
111
+ /**
112
+ * Structural check for a parsed state file.
113
+ *
114
+ * Every field `remote stop` and `remote status` read is checked, because the
115
+ * cost of being wrong is asymmetric: a rejected record costs the user one
116
+ * "nothing to clean up" message, an accepted-but-wrong one aims a Provider
117
+ * teardown at a handle nobody wrote.
118
+ *
119
+ * @param value - Parsed JSON
120
+ * @returns true when the value is a state record of the current schema
121
+ */
122
+ export declare function isRemoteState(value: unknown): value is RemoteState;
123
+ //# sourceMappingURL=remote-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-state.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/remote-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AAEpD,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,MAAQ,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,OAAO,EAAE;QACP,sEAAsE;QACtE,QAAQ,EAAE,MAAM,CAAC;QACjB,8EAA8E;QAC9E,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,gFAAgF;IAChF,MAAM,EAAE,YAAY,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAa5E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAkBrE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAMzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAqBlE"}