dev3000 0.0.135 → 0.0.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/dist/cdp-monitor.d.ts +1 -1
  2. package/dist/cdp-monitor.d.ts.map +1 -1
  3. package/dist/cdp-monitor.js +5 -3
  4. package/dist/cdp-monitor.js.map +1 -1
  5. package/dist/cli.js +27 -5
  6. package/dist/cli.js.map +1 -1
  7. package/dist/dev-environment.d.ts +15 -0
  8. package/dist/dev-environment.d.ts.map +1 -1
  9. package/dist/dev-environment.js +63 -22
  10. package/dist/dev-environment.js.map +1 -1
  11. package/dist/src/tui-interface-impl.tsx +47 -25
  12. package/dist/tui-interface-impl.d.ts +2 -0
  13. package/dist/tui-interface-impl.d.ts.map +1 -1
  14. package/dist/tui-interface-impl.js +28 -15
  15. package/dist/tui-interface-impl.js.map +1 -1
  16. package/dist/tui-interface.d.ts +3 -0
  17. package/dist/tui-interface.d.ts.map +1 -1
  18. package/dist/tui-interface.js +12 -7
  19. package/dist/tui-interface.js.map +1 -1
  20. package/dist/utils/tmux-helpers.d.ts.map +1 -1
  21. package/dist/utils/tmux-helpers.js +34 -4
  22. package/dist/utils/tmux-helpers.js.map +1 -1
  23. package/mcp-server/.next/BUILD_ID +1 -1
  24. package/mcp-server/.next/build/chunks/[root-of-the-server]__c438ef56._.js +2 -2
  25. package/mcp-server/.next/build/chunks/[root-of-the-server]__c438ef56._.js.map +1 -1
  26. package/mcp-server/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_7988927e._.js +1 -1
  27. package/mcp-server/.next/build/chunks/{node_modules__pnpm_806d01c0._.js → node_modules__bun_19755e4f._.js} +167 -167
  28. package/mcp-server/.next/build/chunks/node_modules__bun_19755e4f._.js.map +47 -0
  29. package/mcp-server/.next/build-manifest.json +7 -7
  30. package/mcp-server/.next/fallback-build-manifest.json +2 -2
  31. package/mcp-server/.next/next-minimal-server.js.nft.json +1 -1
  32. package/mcp-server/.next/next-server.js.nft.json +1 -1
  33. package/mcp-server/.next/prerender-manifest.json +3 -3
  34. package/mcp-server/.next/server/app/_global-error/page/build-manifest.json +5 -5
  35. package/mcp-server/.next/server/app/_global-error/page.js +8 -8
  36. package/mcp-server/.next/server/app/_global-error/page.js.nft.json +1 -1
  37. package/mcp-server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  38. package/mcp-server/.next/server/app/_global-error.html +2 -2
  39. package/mcp-server/.next/server/app/_global-error.rsc +7 -7
  40. package/mcp-server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  41. package/mcp-server/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  42. package/mcp-server/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  43. package/mcp-server/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  44. package/mcp-server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  45. package/mcp-server/.next/server/app/_not-found/page/build-manifest.json +5 -5
  46. package/mcp-server/.next/server/app/_not-found/page.js +10 -10
  47. package/mcp-server/.next/server/app/_not-found/page.js.nft.json +1 -1
  48. package/mcp-server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/mcp-server/.next/server/app/_not-found.html +1 -1
  50. package/mcp-server/.next/server/app/_not-found.rsc +7 -7
  51. package/mcp-server/.next/server/app/_not-found.segments/_full.segment.rsc +7 -7
  52. package/mcp-server/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  53. package/mcp-server/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  54. package/mcp-server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  55. package/mcp-server/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  56. package/mcp-server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  57. package/mcp-server/.next/server/app/api/jank/[session]/route.js +7 -7
  58. package/mcp-server/.next/server/app/api/jank/[session]/route.js.nft.json +1 -1
  59. package/mcp-server/.next/server/app/api/logs/append/route.js +4 -4
  60. package/mcp-server/.next/server/app/api/logs/append/route.js.nft.json +1 -1
  61. package/mcp-server/.next/server/app/api/logs/head/route.js +4 -4
  62. package/mcp-server/.next/server/app/api/logs/head/route.js.nft.json +1 -1
  63. package/mcp-server/.next/server/app/api/logs/list/route.js +4 -4
  64. package/mcp-server/.next/server/app/api/logs/list/route.js.nft.json +1 -1
  65. package/mcp-server/.next/server/app/api/logs/rotate/route.js +6 -6
  66. package/mcp-server/.next/server/app/api/logs/rotate/route.js.nft.json +1 -1
  67. package/mcp-server/.next/server/app/api/logs/stream/route.js +4 -4
  68. package/mcp-server/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  69. package/mcp-server/.next/server/app/api/logs/tail/route.js +4 -4
  70. package/mcp-server/.next/server/app/api/logs/tail/route.js.nft.json +1 -1
  71. package/mcp-server/.next/server/app/api/orchestrator/route.js +7 -7
  72. package/mcp-server/.next/server/app/api/orchestrator/route.js.nft.json +1 -1
  73. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js +6 -6
  74. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js.nft.json +1 -1
  75. package/mcp-server/.next/server/app/api/screenshots/capture/route.js +7 -7
  76. package/mcp-server/.next/server/app/api/screenshots/capture/route.js.nft.json +1 -1
  77. package/mcp-server/.next/server/app/api/screenshots/clear/route.js +6 -6
  78. package/mcp-server/.next/server/app/api/screenshots/clear/route.js.nft.json +1 -1
  79. package/mcp-server/.next/server/app/api/screenshots/list/route.js +6 -6
  80. package/mcp-server/.next/server/app/api/screenshots/list/route.js.nft.json +1 -1
  81. package/mcp-server/.next/server/app/api/teams/route.js +5 -5
  82. package/mcp-server/.next/server/app/api/teams/route.js.nft.json +1 -1
  83. package/mcp-server/.next/server/app/api/tools/route.js +6 -6
  84. package/mcp-server/.next/server/app/api/tools/route.js.nft.json +1 -1
  85. package/mcp-server/.next/server/app/index.html +1 -1
  86. package/mcp-server/.next/server/app/index.rsc +9 -9
  87. package/mcp-server/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  88. package/mcp-server/.next/server/app/index.segments/_full.segment.rsc +9 -9
  89. package/mcp-server/.next/server/app/index.segments/_head.segment.rsc +3 -3
  90. package/mcp-server/.next/server/app/index.segments/_index.segment.rsc +3 -3
  91. package/mcp-server/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  92. package/mcp-server/.next/server/app/logs/page/build-manifest.json +5 -5
  93. package/mcp-server/.next/server/app/logs/page.js +13 -13
  94. package/mcp-server/.next/server/app/logs/page.js.nft.json +1 -1
  95. package/mcp-server/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  96. package/mcp-server/.next/server/app/mcp/route.js +8 -8
  97. package/mcp-server/.next/server/app/mcp/route.js.nft.json +1 -1
  98. package/mcp-server/.next/server/app/page/build-manifest.json +5 -5
  99. package/mcp-server/.next/server/app/page.js +12 -12
  100. package/mcp-server/.next/server/app/page.js.nft.json +1 -1
  101. package/mcp-server/.next/server/app/page_client-reference-manifest.js +1 -1
  102. package/mcp-server/.next/server/app/video/[session]/page/build-manifest.json +5 -5
  103. package/mcp-server/.next/server/app/video/[session]/page.js +12 -12
  104. package/mcp-server/.next/server/app/video/[session]/page.js.nft.json +1 -1
  105. package/mcp-server/.next/server/app/video/[session]/page_client-reference-manifest.js +1 -1
  106. package/mcp-server/.next/server/chunks/{[root-of-the-server]__945b2b7b._.js → [root-of-the-server]__21541e6b._.js} +3 -3
  107. package/mcp-server/.next/server/chunks/[root-of-the-server]__21541e6b._.js.map +1 -0
  108. package/mcp-server/.next/server/chunks/[root-of-the-server]__2f95edf0._.js +17 -0
  109. package/mcp-server/.next/server/chunks/[root-of-the-server]__2f95edf0._.js.map +1 -0
  110. package/mcp-server/.next/server/chunks/[root-of-the-server]__377f76d7._.js +7 -0
  111. package/mcp-server/.next/server/chunks/[root-of-the-server]__377f76d7._.js.map +1 -0
  112. package/mcp-server/.next/server/chunks/[root-of-the-server]__454b0d3c._.js +7 -0
  113. package/mcp-server/.next/server/chunks/[root-of-the-server]__454b0d3c._.js.map +1 -0
  114. package/mcp-server/.next/server/chunks/[root-of-the-server]__6728fd4b._.js +3 -0
  115. package/mcp-server/.next/server/chunks/[root-of-the-server]__6728fd4b._.js.map +1 -0
  116. package/mcp-server/.next/server/chunks/[root-of-the-server]__69498adb._.js +3 -0
  117. package/mcp-server/.next/server/chunks/[root-of-the-server]__69498adb._.js.map +1 -0
  118. package/mcp-server/.next/server/chunks/[root-of-the-server]__6c914ee2._.js +3 -0
  119. package/mcp-server/.next/server/chunks/[root-of-the-server]__6c914ee2._.js.map +1 -0
  120. package/mcp-server/.next/server/chunks/[root-of-the-server]__6f790e1f._.js +3 -0
  121. package/mcp-server/.next/server/chunks/[root-of-the-server]__6f790e1f._.js.map +1 -0
  122. package/mcp-server/.next/server/chunks/[root-of-the-server]__7049acd5._.js +3 -0
  123. package/mcp-server/.next/server/chunks/[root-of-the-server]__7049acd5._.js.map +1 -0
  124. package/mcp-server/.next/server/chunks/{[root-of-the-server]__340a77dc._.js → [root-of-the-server]__73c9cc46._.js} +2 -2
  125. package/mcp-server/.next/server/chunks/[root-of-the-server]__73c9cc46._.js.map +1 -0
  126. package/mcp-server/.next/server/chunks/[root-of-the-server]__78991125._.js +3 -0
  127. package/mcp-server/.next/server/chunks/[root-of-the-server]__78991125._.js.map +1 -0
  128. package/mcp-server/.next/server/chunks/[root-of-the-server]__7ae828c6._.js +3 -0
  129. package/mcp-server/.next/server/chunks/[root-of-the-server]__7ae828c6._.js.map +1 -0
  130. package/mcp-server/.next/server/chunks/{[root-of-the-server]__532c5da6._.js → [root-of-the-server]__7ed5139a._.js} +1 -1
  131. package/mcp-server/.next/server/chunks/[root-of-the-server]__95098840._.js +3 -0
  132. package/mcp-server/.next/server/chunks/[root-of-the-server]__95098840._.js.map +1 -0
  133. package/mcp-server/.next/server/chunks/{[root-of-the-server]__8589759c._.js → [root-of-the-server]__99274dd8._.js} +3 -3
  134. package/mcp-server/.next/server/chunks/[root-of-the-server]__99274dd8._.js.map +1 -0
  135. package/mcp-server/.next/server/chunks/[root-of-the-server]__af8a6500._.js +3 -0
  136. package/mcp-server/.next/server/chunks/[root-of-the-server]__af8a6500._.js.map +1 -0
  137. package/mcp-server/.next/server/chunks/{[root-of-the-server]__4aa77621._.js → [root-of-the-server]__b56464d6._.js} +3 -3
  138. package/mcp-server/.next/server/chunks/[root-of-the-server]__b56464d6._.js.map +1 -0
  139. package/mcp-server/.next/server/chunks/{[root-of-the-server]__714e8bcf._.js → [root-of-the-server]__b698502d._.js} +2 -2
  140. package/mcp-server/.next/server/chunks/[root-of-the-server]__b698502d._.js.map +1 -0
  141. package/mcp-server/.next/server/chunks/[root-of-the-server]__daca64a4._.js +3 -0
  142. package/mcp-server/.next/server/chunks/[root-of-the-server]__daca64a4._.js.map +1 -0
  143. package/mcp-server/.next/server/chunks/[root-of-the-server]__ee39655c._.js +4 -0
  144. package/mcp-server/.next/server/chunks/[root-of-the-server]__ee39655c._.js.map +1 -0
  145. package/mcp-server/.next/server/chunks/[root-of-the-server]__f4213a2f._.js +4 -0
  146. package/mcp-server/.next/server/chunks/[root-of-the-server]__f4213a2f._.js.map +1 -0
  147. package/mcp-server/.next/server/chunks/edd96_next_80752ad3._.js +3 -0
  148. package/mcp-server/.next/server/chunks/edd96_next_80752ad3._.js.map +1 -0
  149. package/mcp-server/.next/server/chunks/edd96_next_dist_esm_build_templates_app-route_f51c5640.js +3 -0
  150. package/mcp-server/.next/server/chunks/edd96_next_dist_esm_build_templates_app-route_f51c5640.js.map +1 -0
  151. package/mcp-server/.next/server/chunks/{c80b1_next_dist_579c473d._.js → edd96_next_dist_fa47e982._.js} +3 -3
  152. package/mcp-server/.next/server/chunks/edd96_next_dist_fa47e982._.js.map +1 -0
  153. package/mcp-server/.next/server/chunks/edd96_next_ef93dda6._.js +14 -0
  154. package/mcp-server/.next/server/chunks/edd96_next_ef93dda6._.js.map +1 -0
  155. package/mcp-server/.next/server/chunks/mcp-server_app_mcp_tools_ts_faf6d7df._.js +1 -1
  156. package/mcp-server/.next/server/chunks/mcp-server_app_mcp_tools_ts_faf6d7df._.js.map +1 -1
  157. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__ab72cb3d._.js → [root-of-the-server]__163e0fe2._.js} +2 -2
  158. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__163e0fe2._.js.map +1 -0
  159. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__bbed00c8._.js → [root-of-the-server]__250a4cf3._.js} +2 -2
  160. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__250a4cf3._.js.map +1 -0
  161. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__41e244ae._.js +3 -0
  162. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__41e244ae._.js.map +1 -0
  163. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__50b48a29._.js → [root-of-the-server]__4a45fb1f._.js} +2 -2
  164. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__4a45fb1f._.js.map +1 -0
  165. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__64e0f342._.js → [root-of-the-server]__4b74b898._.js} +2 -2
  166. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__4b74b898._.js.map +1 -0
  167. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__bc51e8b7._.js → [root-of-the-server]__4feaccaf._.js} +2 -2
  168. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__4feaccaf._.js.map +1 -0
  169. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__6d9fa861._.js +3 -0
  170. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__90e175f7._.js → [root-of-the-server]__9913ce94._.js} +2 -2
  171. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__9923da5e._.js +3 -0
  172. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__9923da5e._.js.map +1 -0
  173. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__3c6c75a6._.js → [root-of-the-server]__a8fcf205._.js} +2 -2
  174. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__df4ed844._.js +3 -0
  175. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__df4ed844._.js.map +1 -0
  176. package/mcp-server/.next/server/chunks/ssr/{_be1b41b5._.js → _213c874b._.js} +3 -3
  177. package/mcp-server/.next/server/chunks/ssr/_213c874b._.js.map +1 -0
  178. package/mcp-server/.next/server/chunks/ssr/{c80b1_next_dist_5f2de86d._.js → _69be9abe._.js} +3 -3
  179. package/mcp-server/.next/server/chunks/ssr/_69be9abe._.js.map +1 -0
  180. package/mcp-server/.next/server/chunks/ssr/{_e92c871d._.js → _b38781f1._.js} +3 -3
  181. package/mcp-server/.next/server/chunks/ssr/_b38781f1._.js.map +1 -0
  182. package/mcp-server/.next/server/chunks/ssr/{_9a178862._.js → _edba94b0._.js} +3 -3
  183. package/mcp-server/.next/server/chunks/ssr/_edba94b0._.js.map +1 -0
  184. package/mcp-server/.next/server/chunks/ssr/{_aabc0f14._.js → _f478416d._.js} +3 -3
  185. package/mcp-server/.next/server/chunks/ssr/_f478416d._.js.map +1 -0
  186. package/mcp-server/.next/server/chunks/ssr/{c80b1_next_dist_esm_build_templates_app-page_9b0ce51c.js → edd96_next_dist_22d4e869._.js} +3 -3
  187. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_22d4e869._.js.map +1 -0
  188. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_329c4a9b._.js +10 -0
  189. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_329c4a9b._.js.map +1 -0
  190. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_6cceb2cd._.js +3 -0
  191. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_6cceb2cd._.js.map +1 -0
  192. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_861297ac._.js +6 -0
  193. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_861297ac._.js.map +1 -0
  194. package/mcp-server/.next/server/chunks/ssr/{c80b1_next_dist_client_components_43abb007._.js → edd96_next_dist_client_components_85c7e922._.js} +2 -2
  195. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_client_components_85c7e922._.js.map +1 -0
  196. package/mcp-server/.next/server/chunks/ssr/{c80b1_next_dist_client_components_builtin_forbidden_462fb25e.js → edd96_next_dist_client_components_builtin_forbidden_0eb1cacd.js} +2 -2
  197. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_client_components_builtin_forbidden_0eb1cacd.js.map +1 -0
  198. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_client_components_builtin_global-error_e64e654b.js +3 -0
  199. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_client_components_builtin_global-error_e64e654b.js.map +1 -0
  200. package/mcp-server/.next/server/chunks/ssr/{c80b1_next_dist_client_components_builtin_unauthorized_9a1b3d4d.js → edd96_next_dist_client_components_builtin_unauthorized_06e7b5f5.js} +2 -2
  201. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_client_components_builtin_unauthorized_06e7b5f5.js.map +1 -0
  202. package/mcp-server/.next/server/chunks/ssr/{_262bbdcd._.js → edd96_next_dist_esm_build_templates_app-page_f82c7ca4.js} +3 -3
  203. package/mcp-server/.next/server/chunks/ssr/edd96_next_dist_esm_build_templates_app-page_f82c7ca4.js.map +1 -0
  204. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_layout_tsx_afa41767._.js +1 -1
  205. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_page_tsx_9fc46577._.js +1 -1
  206. package/mcp-server/.next/server/chunks/ssr/mcp-server_components_dark-mode-toggle_tsx_f31dd15d._.js +1 -1
  207. package/mcp-server/.next/server/chunks/ssr/mcp-server_components_dark-mode-toggle_tsx_f31dd15d._.js.map +1 -1
  208. package/mcp-server/.next/server/chunks/ssr/node_modules__bun_39d5fbaf._.js +3 -0
  209. package/mcp-server/.next/server/chunks/ssr/node_modules__bun_39d5fbaf._.js.map +1 -0
  210. package/mcp-server/.next/server/chunks/ssr/node_modules__bun_d6d37386._.js +5 -0
  211. package/mcp-server/.next/server/chunks/ssr/node_modules__bun_d6d37386._.js.map +1 -0
  212. package/mcp-server/.next/server/middleware-build-manifest.js +5 -5
  213. package/mcp-server/.next/server/pages/404.html +1 -1
  214. package/mcp-server/.next/server/pages/500.html +2 -2
  215. package/mcp-server/.next/server/server-reference-manifest.js +1 -1
  216. package/mcp-server/.next/server/server-reference-manifest.json +1 -1
  217. package/mcp-server/.next/static/chunks/10099c90a1ca89ea.js +4 -0
  218. package/mcp-server/.next/static/chunks/{86092b19e32d6ddb.js → 10c04cb580a9beec.js} +1 -1
  219. package/mcp-server/.next/static/chunks/13606014ef33124c.js +2 -0
  220. package/mcp-server/.next/static/chunks/2422ea9ed874427b.js +1 -0
  221. package/mcp-server/.next/static/chunks/39e9bdcc541cc428.js +1 -0
  222. package/mcp-server/.next/static/chunks/4785978304fb9e19.js +1 -0
  223. package/mcp-server/.next/static/chunks/5df77c9395248155.js +1 -0
  224. package/mcp-server/.next/static/chunks/807aef58565dccb1.js +1 -0
  225. package/mcp-server/.next/static/chunks/a6dad97d9634a72d.js.map +1 -1
  226. package/mcp-server/.next/static/chunks/{5c8ff2f81b2fec4d.js → b8eb42a9560f7980.js} +3 -3
  227. package/mcp-server/.next/static/chunks/{ba2f63419c181083.js → cbbf49c419347401.js} +1 -1
  228. package/mcp-server/.next/static/chunks/ea7b53054294e7bb.js +3 -0
  229. package/mcp-server/.next/static/chunks/{turbopack-2c2bdfdb92058782.js → turbopack-b64e111cadf03885.js} +2 -2
  230. package/mcp-server/app/mcp/tools.ts +4 -1
  231. package/mcp-server/package.json +1 -0
  232. package/mcp-server/start-production.mjs +5 -1
  233. package/package.json +8 -12
  234. package/src/tui-interface-impl.tsx +47 -25
  235. package/mcp-server/.next/build/chunks/node_modules__pnpm_806d01c0._.js.map +0 -47
  236. package/mcp-server/.next/server/chunks/[root-of-the-server]__141a5bc7._.js +0 -17
  237. package/mcp-server/.next/server/chunks/[root-of-the-server]__141a5bc7._.js.map +0 -1
  238. package/mcp-server/.next/server/chunks/[root-of-the-server]__1ca296d3._.js +0 -3
  239. package/mcp-server/.next/server/chunks/[root-of-the-server]__1ca296d3._.js.map +0 -1
  240. package/mcp-server/.next/server/chunks/[root-of-the-server]__21bdfd19._.js +0 -3
  241. package/mcp-server/.next/server/chunks/[root-of-the-server]__21bdfd19._.js.map +0 -1
  242. package/mcp-server/.next/server/chunks/[root-of-the-server]__31a16876._.js +0 -3
  243. package/mcp-server/.next/server/chunks/[root-of-the-server]__31a16876._.js.map +0 -1
  244. package/mcp-server/.next/server/chunks/[root-of-the-server]__340a77dc._.js.map +0 -1
  245. package/mcp-server/.next/server/chunks/[root-of-the-server]__4aa77621._.js.map +0 -1
  246. package/mcp-server/.next/server/chunks/[root-of-the-server]__52809b10._.js +0 -3
  247. package/mcp-server/.next/server/chunks/[root-of-the-server]__52809b10._.js.map +0 -1
  248. package/mcp-server/.next/server/chunks/[root-of-the-server]__714e8bcf._.js.map +0 -1
  249. package/mcp-server/.next/server/chunks/[root-of-the-server]__81270bcf._.js +0 -3
  250. package/mcp-server/.next/server/chunks/[root-of-the-server]__81270bcf._.js.map +0 -1
  251. package/mcp-server/.next/server/chunks/[root-of-the-server]__8589759c._.js.map +0 -1
  252. package/mcp-server/.next/server/chunks/[root-of-the-server]__90514e85._.js +0 -4
  253. package/mcp-server/.next/server/chunks/[root-of-the-server]__90514e85._.js.map +0 -1
  254. package/mcp-server/.next/server/chunks/[root-of-the-server]__90569352._.js +0 -3
  255. package/mcp-server/.next/server/chunks/[root-of-the-server]__90569352._.js.map +0 -1
  256. package/mcp-server/.next/server/chunks/[root-of-the-server]__94037b23._.js +0 -7
  257. package/mcp-server/.next/server/chunks/[root-of-the-server]__94037b23._.js.map +0 -1
  258. package/mcp-server/.next/server/chunks/[root-of-the-server]__945b2b7b._.js.map +0 -1
  259. package/mcp-server/.next/server/chunks/[root-of-the-server]__ad4d66b0._.js +0 -3
  260. package/mcp-server/.next/server/chunks/[root-of-the-server]__ad4d66b0._.js.map +0 -1
  261. package/mcp-server/.next/server/chunks/[root-of-the-server]__b4ecebbe._.js +0 -3
  262. package/mcp-server/.next/server/chunks/[root-of-the-server]__b4ecebbe._.js.map +0 -1
  263. package/mcp-server/.next/server/chunks/[root-of-the-server]__cc74dbef._.js +0 -7
  264. package/mcp-server/.next/server/chunks/[root-of-the-server]__cc74dbef._.js.map +0 -1
  265. package/mcp-server/.next/server/chunks/[root-of-the-server]__e7efb7fe._.js +0 -3
  266. package/mcp-server/.next/server/chunks/[root-of-the-server]__e7efb7fe._.js.map +0 -1
  267. package/mcp-server/.next/server/chunks/[root-of-the-server]__fa4b0e38._.js +0 -4
  268. package/mcp-server/.next/server/chunks/[root-of-the-server]__fa4b0e38._.js.map +0 -1
  269. package/mcp-server/.next/server/chunks/[root-of-the-server]__fd2bf649._.js +0 -3
  270. package/mcp-server/.next/server/chunks/[root-of-the-server]__fd2bf649._.js.map +0 -1
  271. package/mcp-server/.next/server/chunks/c80b1_next_d479b5fa._.js +0 -14
  272. package/mcp-server/.next/server/chunks/c80b1_next_d479b5fa._.js.map +0 -1
  273. package/mcp-server/.next/server/chunks/c80b1_next_dist_579c473d._.js.map +0 -1
  274. package/mcp-server/.next/server/chunks/c80b1_next_dist_esm_build_templates_app-route_ea10d5ad.js +0 -3
  275. package/mcp-server/.next/server/chunks/c80b1_next_dist_esm_build_templates_app-route_ea10d5ad.js.map +0 -1
  276. package/mcp-server/.next/server/chunks/c80b1_next_f225a77d._.js +0 -3
  277. package/mcp-server/.next/server/chunks/c80b1_next_f225a77d._.js.map +0 -1
  278. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__1d6b73d5._.js +0 -3
  279. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__1d6b73d5._.js.map +0 -1
  280. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__27ae22d6._.js +0 -3
  281. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__27ae22d6._.js.map +0 -1
  282. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__324715a4._.js +0 -3
  283. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__324715a4._.js.map +0 -1
  284. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__50b48a29._.js.map +0 -1
  285. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__64e0f342._.js.map +0 -1
  286. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__75b45b88._.js +0 -3
  287. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__ab72cb3d._.js.map +0 -1
  288. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__bbed00c8._.js.map +0 -1
  289. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__bc51e8b7._.js.map +0 -1
  290. package/mcp-server/.next/server/chunks/ssr/_262bbdcd._.js.map +0 -1
  291. package/mcp-server/.next/server/chunks/ssr/_9a178862._.js.map +0 -1
  292. package/mcp-server/.next/server/chunks/ssr/_aabc0f14._.js.map +0 -1
  293. package/mcp-server/.next/server/chunks/ssr/_be1b41b5._.js.map +0 -1
  294. package/mcp-server/.next/server/chunks/ssr/_e92c871d._.js.map +0 -1
  295. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_0d37e039._.js +0 -3
  296. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_0d37e039._.js.map +0 -1
  297. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_5f2de86d._.js.map +0 -1
  298. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_81d07c6e._.js +0 -10
  299. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_81d07c6e._.js.map +0 -1
  300. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_889a708f._.js +0 -6
  301. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_889a708f._.js.map +0 -1
  302. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_client_components_43abb007._.js.map +0 -1
  303. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_client_components_builtin_forbidden_462fb25e.js.map +0 -1
  304. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_client_components_builtin_global-error_f3bf1365.js +0 -3
  305. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_client_components_builtin_global-error_f3bf1365.js.map +0 -1
  306. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_client_components_builtin_unauthorized_9a1b3d4d.js.map +0 -1
  307. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_esm_build_templates_app-page_9b0ce51c.js.map +0 -1
  308. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_98754805._.js +0 -5
  309. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_98754805._.js.map +0 -1
  310. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_b801224a._.js +0 -3
  311. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_b801224a._.js.map +0 -1
  312. package/mcp-server/.next/static/chunks/0ceacd9ff62ffa24.js +0 -1
  313. package/mcp-server/.next/static/chunks/41c5312e59752fb5.js +0 -1
  314. package/mcp-server/.next/static/chunks/47219b9a153e0530.js +0 -3
  315. package/mcp-server/.next/static/chunks/4b70aaeeb4b78390.js +0 -1
  316. package/mcp-server/.next/static/chunks/6bd8e9b9ad938cba.js +0 -1
  317. package/mcp-server/.next/static/chunks/a782bd48b8755eeb.js +0 -1
  318. package/mcp-server/.next/static/chunks/f09e07f5359ffb6b.js +0 -4
  319. package/mcp-server/.next/static/chunks/f5ae99caea655ac1.js +0 -2
  320. /package/mcp-server/.next/server/chunks/{[root-of-the-server]__532c5da6._.js.map → [root-of-the-server]__7ed5139a._.js.map} +0 -0
  321. /package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__75b45b88._.js.map → [root-of-the-server]__6d9fa861._.js.map} +0 -0
  322. /package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__90e175f7._.js.map → [root-of-the-server]__9913ce94._.js.map} +0 -0
  323. /package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__3c6c75a6._.js.map → [root-of-the-server]__a8fcf205._.js.map} +0 -0
  324. /package/mcp-server/.next/static/{w4nXrGobMpURW0AYMnAQ8 → gicQOhS3xoSQe_xAaJ-se}/_buildManifest.js +0 -0
  325. /package/mcp-server/.next/static/{w4nXrGobMpURW0AYMnAQ8 → gicQOhS3xoSQe_xAaJ-se}/_clientMiddlewareManifest.json +0 -0
  326. /package/mcp-server/.next/static/{w4nXrGobMpURW0AYMnAQ8 → gicQOhS3xoSQe_xAaJ-se}/_ssgManifest.js +0 -0
@@ -20,6 +20,7 @@ export interface TUIOptions {
20
20
  version: string
21
21
  projectName?: string
22
22
  updateInfo?: UpdateInfo
23
+ useHttps?: boolean
23
24
  }
24
25
 
25
26
  interface LogEntry {
@@ -155,26 +156,28 @@ const TUIApp = ({
155
156
  version,
156
157
  projectName,
157
158
  updateInfo: initialUpdateInfo,
159
+ useHttps: initialUseHttps,
158
160
  onStatusUpdate,
159
161
  onAppPortUpdate,
160
- onUpdateInfoUpdate
162
+ onUpdateInfoUpdate,
163
+ onUseHttpsUpdate
161
164
  }: TUIOptions & {
162
165
  onStatusUpdate: (fn: (status: string | null) => void) => void
163
166
  onAppPortUpdate: (fn: (port: string) => void) => void
164
167
  onUpdateInfoUpdate: (fn: (info: UpdateInfo) => void) => void
168
+ onUseHttpsUpdate: (fn: (useHttps: boolean) => void) => void
165
169
  }) => {
166
170
  const [logs, setLogs] = useState<LogEntry[]>([])
167
171
  const [scrollOffset, setScrollOffset] = useState(0)
168
172
  const [initStatus, setInitStatus] = useState<string | null>(null)
169
173
  const [appPort, setAppPort] = useState<string>(initialAppPort)
174
+ const [useHttps, setUseHttps] = useState<boolean>(initialUseHttps || false)
170
175
  const [updateInfo, setUpdateInfo] = useState<UpdateInfo>(initialUpdateInfo || null)
171
176
  const [portConfirmed, setPortConfirmed] = useState<boolean>(false)
172
177
  const logIdCounter = useRef(0)
173
178
  const [clearFromLogId, setClearFromLogId] = useState<number>(0) // Track log ID to clear from
174
179
  const { stdout } = useStdout()
175
- // Show pane switching hint if running inside tmux
176
- const isInTmux = !!process.env.TMUX
177
- const ctrlCMessageDefault = isInTmux ? "^B←→ panes ^L clear ^C quit" : "^L clear ^C quit"
180
+ const ctrlCMessageDefault = "" // Removed - click to focus/resize works now
178
181
  const [ctrlCMessage, setCtrlCMessage] = useState(ctrlCMessageDefault)
179
182
  const maxScrollOffsetRef = useRef(0)
180
183
 
@@ -254,14 +257,21 @@ const TUIApp = ({
254
257
  })
255
258
  }, [onUpdateInfoUpdate])
256
259
 
260
+ // Provide useHttps update function to parent
261
+ useEffect(() => {
262
+ onUseHttpsUpdate((https: boolean) => {
263
+ setUseHttps(https)
264
+ })
265
+ }, [onUseHttpsUpdate])
266
+
257
267
  // Calculate available lines for logs dynamically based on terminal height and mode
258
268
  const calculateMaxVisibleLogs = () => {
259
269
  if (isVeryCompact) {
260
270
  // In very compact mode, use most of the screen for logs, account for bottom status line
261
- return Math.max(3, termHeight - 8)
271
+ return Math.max(3, termHeight - 7)
262
272
  } else if (isCompact) {
263
273
  // In compact mode, reduce header size, account for bottom status line
264
- return Math.max(3, termHeight - 10)
274
+ return Math.max(3, termHeight - 9)
265
275
  } else {
266
276
  // Normal mode calculation - account for all UI elements
267
277
  const headerBorderLines = 2 // Top border (with title) + bottom border
@@ -270,15 +280,14 @@ const TUIApp = ({
270
280
  const logBoxHeaderLines = 1 // "Logs (X total)" text
271
281
  const logBoxFooterLines = 1 // Always reserve space for "(X lines below)" to keep layout stable
272
282
  const bottomStatusLine = 1 // Log path and quit message
273
- const safetyBuffer = 0 // No buffer needed with explicit heights
274
283
  const totalReservedLines =
275
284
  headerBorderLines +
276
285
  headerContentLines +
277
286
  logBoxBorderLines +
278
287
  logBoxHeaderLines +
279
288
  logBoxFooterLines +
280
- bottomStatusLine +
281
- safetyBuffer
289
+ bottomStatusLine -
290
+ 1 // Reclaim the extra blank line
282
291
  return Math.max(3, termHeight - totalReservedLines)
283
292
  }
284
293
  }
@@ -436,16 +445,18 @@ const TUIApp = ({
436
445
  filteredLogs.length - scrollOffset
437
446
  )
438
447
 
448
+ // Get clean project name (strip hash suffix like "-935beb")
449
+ const cleanProjectName = projectName ? projectName.replace(/-[a-f0-9]{6}$/, "") : ""
450
+
439
451
  // Render compact header for small terminals
440
452
  const renderCompactHeader = () => (
441
- <Box borderStyle="single" borderColor="#A18CE5" paddingX={1} marginBottom={1}>
453
+ <Box borderStyle="single" borderColor="#A18CE5" paddingX={1}>
442
454
  <Box flexDirection="column" width="100%">
443
455
  <Box>
444
456
  <Text color="#A18CE5" bold>
445
457
  {COMPACT_LOGO}
446
458
  </Text>
447
- <Text> v{version} </Text>
448
- {initStatus && <Text dimColor>- {initStatus}</Text>}
459
+ <Text dimColor> v{version}</Text>
449
460
  </Box>
450
461
  {!isVeryCompact && (
451
462
  <Box flexDirection="column">
@@ -465,7 +476,8 @@ const TUIApp = ({
465
476
  // Render normal header
466
477
  const renderNormalHeader = () => {
467
478
  // Create custom top border with title embedded (like Claude Code)
468
- const title = ` ${commandName} v${version} ${initStatus ? `- ${initStatus} ` : ""}`
479
+ // Note: commandName omitted since ASCII art already shows "d3k"
480
+ const title = ` v${version} ${initStatus ? `- ${initStatus} ` : ""}`
469
481
  const borderChar = "─"
470
482
  const leftPadding = 2
471
483
  // Account for border characters and padding
@@ -495,7 +507,9 @@ const TUIApp = ({
495
507
  {/* Info on the right */}
496
508
  <Box flexDirection="column" flexGrow={1}>
497
509
  <Box>
498
- <Text color="cyan">🌐 App: http://localhost:{appPort} </Text>
510
+ <Text color="cyan">
511
+ 🌐 App: {useHttps ? "https" : "http"}://localhost:{appPort}{" "}
512
+ </Text>
499
513
  {!portConfirmed && <Spinner type="dots" />}
500
514
  </Box>
501
515
  <Text color="cyan">🤖 MCP: http://localhost:{mcpPort}</Text>
@@ -547,22 +561,20 @@ const TUIApp = ({
547
561
  )}
548
562
  </Box>
549
563
 
550
- {/* Bottom status line - no border, just text */}
551
- <Box paddingX={1} justifyContent="space-between">
552
- <Box>
553
- <Text color="#A18CE5">
554
- ⏵⏵{" "}
555
- {isVeryCompact
556
- ? logFile.split("/").slice(-2, -1)[0] || "logs" // Just show directory name
557
- : logFile.replace(process.env.HOME || "", "~")}
558
- </Text>
559
- </Box>
564
+ {/* Bottom status line */}
565
+ <Box paddingX={1} justifyContent={isCompact ? "flex-end" : "space-between"}>
566
+ {!isCompact && (
567
+ <Box>
568
+ <Text color="#A18CE5">{logFile.replace(process.env.HOME || "", "~")}</Text>
569
+ </Box>
570
+ )}
560
571
  <Box gap={2}>
572
+ {isCompact && <Text color="#A18CE5">{cleanProjectName || "d3k"}</Text>}
561
573
  {updateInfo?.type === "available" && (
562
574
  <Text color="yellow">↑ v{updateInfo.latestVersion} available (d3k upgrade)</Text>
563
575
  )}
564
576
  {updateInfo?.type === "updated" && <Text color="green">✓ Updated to v{updateInfo.newVersion}</Text>}
565
- <Text color="#A18CE5">{ctrlCMessage}</Text>
577
+ {ctrlCMessage && <Text color="#A18CE5">{ctrlCMessage}</Text>}
566
578
  </Box>
567
579
  </Box>
568
580
  </Box>
@@ -574,12 +586,14 @@ export async function runTUI(options: TUIOptions): Promise<{
574
586
  updateStatus: (status: string | null) => void
575
587
  updateAppPort: (port: string) => void
576
588
  updateUpdateInfo: (info: UpdateInfo) => void
589
+ updateUseHttps: (useHttps: boolean) => void
577
590
  }> {
578
591
  return new Promise((resolve, reject) => {
579
592
  try {
580
593
  let statusUpdater: ((status: string | null) => void) | null = null
581
594
  let appPortUpdater: ((port: string) => void) | null = null
582
595
  let updateInfoUpdater: ((info: UpdateInfo) => void) | null = null
596
+ let httpsUpdater: ((useHttps: boolean) => void) | null = null
583
597
 
584
598
  // Wrap stdout.write to add synchronized update escape sequences
585
599
  // This tells the terminal to buffer all output until the end marker
@@ -619,6 +633,9 @@ export async function runTUI(options: TUIOptions): Promise<{
619
633
  onUpdateInfoUpdate={(fn) => {
620
634
  updateInfoUpdater = fn
621
635
  }}
636
+ onUseHttpsUpdate={(fn) => {
637
+ httpsUpdater = fn
638
+ }}
622
639
  />,
623
640
  { exitOnCtrlC: false }
624
641
  )
@@ -641,6 +658,11 @@ export async function runTUI(options: TUIOptions): Promise<{
641
658
  if (updateInfoUpdater) {
642
659
  updateInfoUpdater(info)
643
660
  }
661
+ },
662
+ updateUseHttps: (useHttps: boolean) => {
663
+ if (httpsUpdater) {
664
+ httpsUpdater(useHttps)
665
+ }
644
666
  }
645
667
  })
646
668
  })
@@ -15,6 +15,7 @@ export interface TUIOptions {
15
15
  version: string;
16
16
  projectName?: string;
17
17
  updateInfo?: UpdateInfo;
18
+ useHttps?: boolean;
18
19
  }
19
20
  export declare function runTUI(options: TUIOptions): Promise<{
20
21
  app: {
@@ -23,5 +24,6 @@ export declare function runTUI(options: TUIOptions): Promise<{
23
24
  updateStatus: (status: string | null) => void;
24
25
  updateAppPort: (port: string) => void;
25
26
  updateUpdateInfo: (info: UpdateInfo) => void;
27
+ updateUseHttps: (useHttps: boolean) => void;
26
28
  }>;
27
29
  //# sourceMappingURL=tui-interface-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-interface-impl.d.ts","sourceRoot":"","sources":["../src/tui-interface-impl.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3D,IAAI,CAAA;AAER,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAqiBD,wBAAsB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC;IACzD,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;IAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,gBAAgB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;CAC7C,CAAC,CA2ED"}
1
+ {"version":3,"file":"tui-interface-impl.d.ts","sourceRoot":"","sources":["../src/tui-interface-impl.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3D,IAAI,CAAA;AAER,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAgjBD,wBAAsB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC;IACzD,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;IAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,gBAAgB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IAC5C,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5C,CAAC,CAoFD"}
@@ -70,19 +70,18 @@ const LogLine = memo(({ log, isCompact, isVeryCompact }) => {
70
70
  // Fallback for unparsed lines
71
71
  return _jsx(Text, { wrap: "truncate-end", children: log.content });
72
72
  });
73
- const TUIApp = ({ appPort: initialAppPort, mcpPort, logFile, commandName, serversOnly, version, projectName, updateInfo: initialUpdateInfo, onStatusUpdate, onAppPortUpdate, onUpdateInfoUpdate }) => {
73
+ const TUIApp = ({ appPort: initialAppPort, mcpPort, logFile, commandName, serversOnly, version, projectName, updateInfo: initialUpdateInfo, useHttps: initialUseHttps, onStatusUpdate, onAppPortUpdate, onUpdateInfoUpdate, onUseHttpsUpdate }) => {
74
74
  const [logs, setLogs] = useState([]);
75
75
  const [scrollOffset, setScrollOffset] = useState(0);
76
76
  const [initStatus, setInitStatus] = useState(null);
77
77
  const [appPort, setAppPort] = useState(initialAppPort);
78
+ const [useHttps, setUseHttps] = useState(initialUseHttps || false);
78
79
  const [updateInfo, setUpdateInfo] = useState(initialUpdateInfo || null);
79
80
  const [portConfirmed, setPortConfirmed] = useState(false);
80
81
  const logIdCounter = useRef(0);
81
82
  const [clearFromLogId, setClearFromLogId] = useState(0); // Track log ID to clear from
82
83
  const { stdout } = useStdout();
83
- // Show pane switching hint if running inside tmux
84
- const isInTmux = !!process.env.TMUX;
85
- const ctrlCMessageDefault = isInTmux ? "^B←→ panes ^L clear ^C quit" : "^L clear ^C quit";
84
+ const ctrlCMessageDefault = ""; // Removed - click to focus/resize works now
86
85
  const [ctrlCMessage, setCtrlCMessage] = useState(ctrlCMessageDefault);
87
86
  const maxScrollOffsetRef = useRef(0);
88
87
  const [terminalSize, setTerminalSize] = useState(() => ({
@@ -153,15 +152,21 @@ const TUIApp = ({ appPort: initialAppPort, mcpPort, logFile, commandName, server
153
152
  }
154
153
  });
155
154
  }, [onUpdateInfoUpdate]);
155
+ // Provide useHttps update function to parent
156
+ useEffect(() => {
157
+ onUseHttpsUpdate((https) => {
158
+ setUseHttps(https);
159
+ });
160
+ }, [onUseHttpsUpdate]);
156
161
  // Calculate available lines for logs dynamically based on terminal height and mode
157
162
  const calculateMaxVisibleLogs = () => {
158
163
  if (isVeryCompact) {
159
164
  // In very compact mode, use most of the screen for logs, account for bottom status line
160
- return Math.max(3, termHeight - 8);
165
+ return Math.max(3, termHeight - 7);
161
166
  }
162
167
  else if (isCompact) {
163
168
  // In compact mode, reduce header size, account for bottom status line
164
- return Math.max(3, termHeight - 10);
169
+ return Math.max(3, termHeight - 9);
165
170
  }
166
171
  else {
167
172
  // Normal mode calculation - account for all UI elements
@@ -171,14 +176,13 @@ const TUIApp = ({ appPort: initialAppPort, mcpPort, logFile, commandName, server
171
176
  const logBoxHeaderLines = 1; // "Logs (X total)" text
172
177
  const logBoxFooterLines = 1; // Always reserve space for "(X lines below)" to keep layout stable
173
178
  const bottomStatusLine = 1; // Log path and quit message
174
- const safetyBuffer = 0; // No buffer needed with explicit heights
175
179
  const totalReservedLines = headerBorderLines +
176
180
  headerContentLines +
177
181
  logBoxBorderLines +
178
182
  logBoxHeaderLines +
179
183
  logBoxFooterLines +
180
- bottomStatusLine +
181
- safetyBuffer;
184
+ bottomStatusLine -
185
+ 1; // Reclaim the extra blank line
182
186
  return Math.max(3, termHeight - totalReservedLines);
183
187
  }
184
188
  };
@@ -319,12 +323,15 @@ const TUIApp = ({ appPort: initialAppPort, mcpPort, logFile, commandName, server
319
323
  // Calculate visible logs - filter to only show logs after the clear point
320
324
  const filteredLogs = logs.filter((log) => log.id > clearFromLogId);
321
325
  const visibleLogs = filteredLogs.slice(Math.max(0, filteredLogs.length - maxVisibleLogs - scrollOffset), filteredLogs.length - scrollOffset);
326
+ // Get clean project name (strip hash suffix like "-935beb")
327
+ const cleanProjectName = projectName ? projectName.replace(/-[a-f0-9]{6}$/, "") : "";
322
328
  // Render compact header for small terminals
323
- const renderCompactHeader = () => (_jsx(Box, { borderStyle: "single", borderColor: "#A18CE5", paddingX: 1, marginBottom: 1, children: _jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsxs(Box, { children: [_jsx(Text, { color: "#A18CE5", bold: true, children: COMPACT_LOGO }), _jsxs(Text, { children: [" v", version, " "] }), initStatus && _jsxs(Text, { dimColor: true, children: ["- ", initStatus] })] }), !isVeryCompact && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { dimColor: true, children: ["App: localhost:", appPort, " | MCP: localhost:", mcpPort] }), _jsxs(Text, { dimColor: true, children: ["\uD83D\uDCF8 http://localhost:", mcpPort, "/logs", projectName ? `?project=${encodeURIComponent(projectName)}` : ""] })] }))] }) }));
329
+ const renderCompactHeader = () => (_jsx(Box, { borderStyle: "single", borderColor: "#A18CE5", paddingX: 1, children: _jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsxs(Box, { children: [_jsx(Text, { color: "#A18CE5", bold: true, children: COMPACT_LOGO }), _jsxs(Text, { dimColor: true, children: [" v", version] })] }), !isVeryCompact && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { dimColor: true, children: ["App: localhost:", appPort, " | MCP: localhost:", mcpPort] }), _jsxs(Text, { dimColor: true, children: ["\uD83D\uDCF8 http://localhost:", mcpPort, "/logs", projectName ? `?project=${encodeURIComponent(projectName)}` : ""] })] }))] }) }));
324
330
  // Render normal header
325
331
  const renderNormalHeader = () => {
326
332
  // Create custom top border with title embedded (like Claude Code)
327
- const title = ` ${commandName} v${version} ${initStatus ? `- ${initStatus} ` : ""}`;
333
+ // Note: commandName omitted since ASCII art already shows "d3k"
334
+ const title = ` v${version} ${initStatus ? `- ${initStatus} ` : ""}`;
328
335
  const borderChar = "─";
329
336
  const leftPadding = 2;
330
337
  // Account for border characters and padding
@@ -332,14 +339,12 @@ const TUIApp = ({ appPort: initialAppPort, mcpPort, logFile, commandName, server
332
339
  const titleLength = title.length;
333
340
  const rightBorderLength = Math.max(0, availableWidth - titleLength - leftPadding);
334
341
  const topBorderLine = `╭${borderChar.repeat(leftPadding)}${title}${borderChar.repeat(rightBorderLength)}╮`;
335
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "#A18CE5", children: topBorderLine }), _jsx(Box, { borderStyle: "round", borderColor: "#A18CE5", borderTop: false, paddingX: 1, children: _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Box, { flexDirection: "column", alignItems: "flex-start", children: FULL_LOGO.map((line) => (_jsx(Text, { color: "#A18CE5", bold: true, children: line }, line))) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: "cyan", children: ["\uD83C\uDF10 App: http://localhost:", appPort, " "] }), !portConfirmed && _jsx(Spinner, { type: "dots" })] }), _jsxs(Text, { color: "cyan", children: ["\uD83E\uDD16 MCP: http://localhost:", mcpPort] }), _jsxs(Text, { color: "cyan", children: ["\uD83D\uDCF8 Logs: http://localhost:", mcpPort, "/logs", projectName ? `?project=${encodeURIComponent(projectName)}` : ""] }), serversOnly && (_jsx(Text, { color: "cyan", children: "\uD83D\uDDA5\uFE0F Servers-only mode - use Chrome extension for browser monitoring" }))] })] }) })] }));
342
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "#A18CE5", children: topBorderLine }), _jsx(Box, { borderStyle: "round", borderColor: "#A18CE5", borderTop: false, paddingX: 1, children: _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Box, { flexDirection: "column", alignItems: "flex-start", children: FULL_LOGO.map((line) => (_jsx(Text, { color: "#A18CE5", bold: true, children: line }, line))) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: "cyan", children: ["\uD83C\uDF10 App: ", useHttps ? "https" : "http", "://localhost:", appPort, " "] }), !portConfirmed && _jsx(Spinner, { type: "dots" })] }), _jsxs(Text, { color: "cyan", children: ["\uD83E\uDD16 MCP: http://localhost:", mcpPort] }), _jsxs(Text, { color: "cyan", children: ["\uD83D\uDCF8 Logs: http://localhost:", mcpPort, "/logs", projectName ? `?project=${encodeURIComponent(projectName)}` : ""] }), serversOnly && (_jsx(Text, { color: "cyan", children: "\uD83D\uDDA5\uFE0F Servers-only mode - use Chrome extension for browser monitoring" }))] })] }) })] }));
336
343
  };
337
344
  // Calculate the height for the logs box to ensure stable layout from first render
338
345
  // This prevents the layout from shifting as logs fill in
339
346
  const logsBoxHeight = maxVisibleLogs + 3; // +3 for header line, borders
340
- return (_jsxs(Box, { flexDirection: "column", height: termHeight, children: [isCompact ? renderCompactHeader() : renderNormalHeader(), _jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "gray", paddingX: 1, height: logsBoxHeight, children: [!isVeryCompact && (_jsxs(Text, { color: "gray", dimColor: true, children: ["Logs (", filteredLogs.length, " total", scrollOffset > 0 && `, scrolled up ${scrollOffset} lines`, ")"] })), _jsx(Box, { flexDirection: "column", children: visibleLogs.length === 0 ? (_jsx(Text, { dimColor: true, children: "Waiting for logs..." })) : (visibleLogs.map((log) => (_jsx(LogLine, { log: log, isCompact: isCompact, isVeryCompact: isVeryCompact }, log.id)))) }), !isVeryCompact && logs.length > maxVisibleLogs && scrollOffset > 0 && (_jsxs(Text, { dimColor: true, children: ["(", scrollOffset, " lines below)"] }))] }), _jsxs(Box, { paddingX: 1, justifyContent: "space-between", children: [_jsx(Box, { children: _jsxs(Text, { color: "#A18CE5", children: ["\u23F5\u23F5", " ", isVeryCompact
341
- ? logFile.split("/").slice(-2, -1)[0] || "logs" // Just show directory name
342
- : logFile.replace(process.env.HOME || "", "~")] }) }), _jsxs(Box, { gap: 2, children: [updateInfo?.type === "available" && (_jsxs(Text, { color: "yellow", children: ["\u2191 v", updateInfo.latestVersion, " available (d3k upgrade)"] })), updateInfo?.type === "updated" && _jsxs(Text, { color: "green", children: ["\u2713 Updated to v", updateInfo.newVersion] }), _jsx(Text, { color: "#A18CE5", children: ctrlCMessage })] })] })] }));
347
+ return (_jsxs(Box, { flexDirection: "column", height: termHeight, children: [isCompact ? renderCompactHeader() : renderNormalHeader(), _jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "gray", paddingX: 1, height: logsBoxHeight, children: [!isVeryCompact && (_jsxs(Text, { color: "gray", dimColor: true, children: ["Logs (", filteredLogs.length, " total", scrollOffset > 0 && `, scrolled up ${scrollOffset} lines`, ")"] })), _jsx(Box, { flexDirection: "column", children: visibleLogs.length === 0 ? (_jsx(Text, { dimColor: true, children: "Waiting for logs..." })) : (visibleLogs.map((log) => (_jsx(LogLine, { log: log, isCompact: isCompact, isVeryCompact: isVeryCompact }, log.id)))) }), !isVeryCompact && logs.length > maxVisibleLogs && scrollOffset > 0 && (_jsxs(Text, { dimColor: true, children: ["(", scrollOffset, " lines below)"] }))] }), _jsxs(Box, { paddingX: 1, justifyContent: isCompact ? "flex-end" : "space-between", children: [!isCompact && (_jsx(Box, { children: _jsx(Text, { color: "#A18CE5", children: logFile.replace(process.env.HOME || "", "~") }) })), _jsxs(Box, { gap: 2, children: [isCompact && _jsx(Text, { color: "#A18CE5", children: cleanProjectName || "d3k" }), updateInfo?.type === "available" && (_jsxs(Text, { color: "yellow", children: ["\u2191 v", updateInfo.latestVersion, " available (d3k upgrade)"] })), updateInfo?.type === "updated" && _jsxs(Text, { color: "green", children: ["\u2713 Updated to v", updateInfo.newVersion] }), ctrlCMessage && _jsx(Text, { color: "#A18CE5", children: ctrlCMessage })] })] })] }));
343
348
  };
344
349
  export async function runTUI(options) {
345
350
  return new Promise((resolve, reject) => {
@@ -347,6 +352,7 @@ export async function runTUI(options) {
347
352
  let statusUpdater = null;
348
353
  let appPortUpdater = null;
349
354
  let updateInfoUpdater = null;
355
+ let httpsUpdater = null;
350
356
  // Wrap stdout.write to add synchronized update escape sequences
351
357
  // This tells the terminal to buffer all output until the end marker
352
358
  // Supported by iTerm2, Kitty, WezTerm, and other modern terminals
@@ -373,6 +379,8 @@ export async function runTUI(options) {
373
379
  appPortUpdater = fn;
374
380
  }, onUpdateInfoUpdate: (fn) => {
375
381
  updateInfoUpdater = fn;
382
+ }, onUseHttpsUpdate: (fn) => {
383
+ httpsUpdater = fn;
376
384
  } }), { exitOnCtrlC: false });
377
385
  // Give React one tick to set up the updaters
378
386
  setImmediate(() => {
@@ -392,6 +400,11 @@ export async function runTUI(options) {
392
400
  if (updateInfoUpdater) {
393
401
  updateInfoUpdater(info);
394
402
  }
403
+ },
404
+ updateUseHttps: (useHttps) => {
405
+ if (httpsUpdater) {
406
+ httpsUpdater(useHttps);
407
+ }
395
408
  }
396
409
  });
397
410
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tui-interface-impl.js","sourceRoot":"","sources":["../src/tui-interface-impl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-interface-impl.js","sourceRoot":"","sources":["../src/tui-interface-impl.tsx"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export interface TUIOptions {
15
15
  version: string;
16
16
  projectName?: string;
17
17
  updateInfo?: UpdateInfo;
18
+ useHttps?: boolean;
18
19
  }
19
20
  export declare class DevTUI {
20
21
  private options;
@@ -22,11 +23,13 @@ export declare class DevTUI {
22
23
  private updateStatusFn;
23
24
  private updateAppPortFn;
24
25
  private updateUpdateInfoFn;
26
+ private updateUseHttpsFn;
25
27
  constructor(options: TUIOptions);
26
28
  start(): Promise<void>;
27
29
  updateStatus(status: string | null): void;
28
30
  updateAppPort(port: string): void;
29
31
  updateUpdateInfo(info: UpdateInfo): void;
32
+ updateUseHttps(useHttps: boolean): void;
30
33
  shutdown(): Promise<void>;
31
34
  }
32
35
  //# sourceMappingURL=tui-interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-interface.d.ts","sourceRoot":"","sources":["../src/tui-interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3D,IAAI,CAAA;AAER,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAID,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,kBAAkB,CAA4C;gBAE1D,OAAO,EAAE,UAAU;IAIzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC5B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMzC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMjC,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAMlC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOhC"}
1
+ {"version":3,"file":"tui-interface.d.ts","sourceRoot":"","sources":["../src/tui-interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3D,IAAI,CAAA;AAER,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAID,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,kBAAkB,CAA4C;IACtE,OAAO,CAAC,gBAAgB,CAA6C;gBAEzD,OAAO,EAAE,UAAU;IAIzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC5B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMzC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMjC,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAMxC,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAMjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOhC"}
@@ -4,15 +4,14 @@ export class DevTUI {
4
4
  updateStatusFn = null;
5
5
  updateAppPortFn = null;
6
6
  updateUpdateInfoFn = null;
7
+ updateUseHttpsFn = null;
7
8
  constructor(options) {
8
9
  this.options = options;
9
10
  }
10
11
  async start() {
11
12
  try {
12
- // Enter alternate screen buffer immediately to prevent scroll history pollution
13
- // This must happen before any other output
14
- // Note: alternate screen buffer starts clean, no need to clear
15
- process.stdout.write("\x1b[?1049h");
13
+ // Clear screen and scrollback before starting TUI
14
+ process.stdout.write("\x1b[2J\x1b[H\x1b[3J");
16
15
  // Temporarily suppress React hook warnings during TUI startup
17
16
  const originalError = console.error;
18
17
  const suppressReactHookWarnings = (...args) => {
@@ -26,11 +25,12 @@ export class DevTUI {
26
25
  console.error = suppressReactHookWarnings;
27
26
  // Use dynamic import to load the TSX implementation at runtime
28
27
  const { runTUI } = await import("./tui-interface-impl.js");
29
- const { app, updateStatus, updateAppPort, updateUpdateInfo } = await runTUI(this.options);
28
+ const { app, updateStatus, updateAppPort, updateUpdateInfo, updateUseHttps } = await runTUI(this.options);
30
29
  this.app = app;
31
30
  this.updateStatusFn = updateStatus;
32
31
  this.updateAppPortFn = updateAppPort;
33
32
  this.updateUpdateInfoFn = updateUpdateInfo;
33
+ this.updateUseHttpsFn = updateUseHttps;
34
34
  // Restore original error logging after startup
35
35
  setTimeout(() => {
36
36
  console.error = originalError;
@@ -56,12 +56,17 @@ export class DevTUI {
56
56
  this.updateUpdateInfoFn(info);
57
57
  }
58
58
  }
59
+ updateUseHttps(useHttps) {
60
+ if (this.updateUseHttpsFn) {
61
+ this.updateUseHttpsFn(useHttps);
62
+ }
63
+ }
59
64
  async shutdown() {
60
65
  if (this.app) {
61
66
  this.app.unmount();
62
67
  }
63
- // Exit alternate screen buffer to restore previous terminal content
64
- process.stdout.write("\x1b[?1049l");
68
+ // Clear screen and scrollback on shutdown
69
+ process.stdout.write("\x1b[2J\x1b[H\x1b[3J");
65
70
  }
66
71
  }
67
72
  //# sourceMappingURL=tui-interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-interface.js","sourceRoot":"","sources":["../src/tui-interface.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAO,MAAM;IACT,OAAO,CAAY;IACnB,GAAG,GAAkB,IAAI,CAAA;IACzB,cAAc,GAA6C,IAAI,CAAA;IAC/D,eAAe,GAAoC,IAAI,CAAA;IACvD,kBAAkB,GAAwC,IAAI,CAAA;IAEtE,YAAY,OAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,gFAAgF;YAChF,2CAA2C;YAC3C,+DAA+D;YAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAEnC,8DAA8D;YAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAA;YACnC,MAAM,yBAAyB,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;gBACvD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBACvB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACzE,oHAAoH;oBACpH,OAAM;gBACR,CAAC;gBACD,aAAa,CAAC,GAAG,IAAI,CAAC,CAAA;YACxB,CAAC,CAAA;YACD,OAAO,CAAC,KAAK,GAAG,yBAAyB,CAAA;YAEzC,+DAA+D;YAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;YAC1D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACzF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;YACd,IAAI,CAAC,cAAc,GAAG,YAAY,CAAA;YAClC,IAAI,CAAC,eAAe,GAAG,aAAa,CAAA;YACpC,IAAI,CAAC,kBAAkB,GAAG,gBAAgB,CAAA;YAE1C,+CAA+C;YAC/C,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,KAAK,GAAG,aAAa,CAAA;YAC/B,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;YAC5C,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,YAAY,CAAC,MAAqB;QAChC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,IAAgB;QAC/B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACpB,CAAC;QACD,oEAAoE;QACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"tui-interface.js","sourceRoot":"","sources":["../src/tui-interface.ts"],"names":[],"mappings":"AAmBA,MAAM,OAAO,MAAM;IACT,OAAO,CAAY;IACnB,GAAG,GAAkB,IAAI,CAAA;IACzB,cAAc,GAA6C,IAAI,CAAA;IAC/D,eAAe,GAAoC,IAAI,CAAA;IACvD,kBAAkB,GAAwC,IAAI,CAAA;IAC9D,gBAAgB,GAAyC,IAAI,CAAA;IAErE,YAAY,OAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,kDAAkD;YAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;YAE5C,8DAA8D;YAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAA;YACnC,MAAM,yBAAyB,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;gBACvD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBACvB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACzE,oHAAoH;oBACpH,OAAM;gBACR,CAAC;gBACD,aAAa,CAAC,GAAG,IAAI,CAAC,CAAA;YACxB,CAAC,CAAA;YACD,OAAO,CAAC,KAAK,GAAG,yBAAyB,CAAA;YAEzC,+DAA+D;YAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;YAC1D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACzG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;YACd,IAAI,CAAC,cAAc,GAAG,YAAY,CAAA;YAClC,IAAI,CAAC,eAAe,GAAG,aAAa,CAAA;YACpC,IAAI,CAAC,kBAAkB,GAAG,gBAAgB,CAAA;YAC1C,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAA;YAEtC,+CAA+C;YAC/C,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,KAAK,GAAG,aAAa,CAAA;YAC/B,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;YAC5C,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,YAAY,CAAC,MAAqB;QAChC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,IAAgB;QAC/B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,cAAc,CAAC,QAAiB;QAC9B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACpB,CAAC;QACD,0CAA0C;QAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC9C,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tmux-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/tmux-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE,CA6BxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAQxD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAErD;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;CAG/B,CAAA"}
1
+ {"version":3,"file":"tmux-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/tmux-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAaD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAuDxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAQxD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAErD;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;CAG/B,CAAA"}
@@ -2,27 +2,57 @@
2
2
  * Helper functions for tmux split-screen mode with --with-agent flag.
3
3
  * Extracted for testability.
4
4
  */
5
+ /**
6
+ * Wrap a command to show error and wait for user input on failure.
7
+ * This prevents the pane from immediately closing on crash, letting users see the error.
8
+ */
9
+ function wrapCommandWithErrorHandling(cmd, name) {
10
+ // Use bash -c to run the command and capture its exit code
11
+ // If it fails, show the error and wait for Enter before exiting
12
+ // Note: Use escaped quotes for the inner strings since this gets embedded in tmux commands
13
+ return `bash -c '${cmd}; EXIT_CODE=\\$?; if [ \\$EXIT_CODE -ne 0 ]; then echo; echo ❌ ${name} exited with code \\$EXIT_CODE; echo Press Enter to close...; read; fi; exit \\$EXIT_CODE'`;
14
+ }
5
15
  /**
6
16
  * Generate tmux commands for setting up split-screen mode.
7
17
  */
8
18
  export function generateTmuxCommands(config) {
9
19
  const { sessionName, d3kCommand, agentCommand, agentDelay, paneWidthPercent } = config;
20
+ // Wrap commands with error handling so users can see crash output
21
+ const d3kWithErrorHandling = wrapCommandWithErrorHandling(d3kCommand, "d3k");
22
+ // Wait for MCP server to start before launching agent
23
+ // Using simple sleep since quote escaping in nested bash -c is fragile
10
24
  const agentWithDelay = agentDelay > 0 ? `sleep ${agentDelay} && ${agentCommand}` : agentCommand;
25
+ const agentWithErrorHandling = wrapCommandWithErrorHandling(agentWithDelay, "agent");
11
26
  return [
12
27
  // Create new session with d3k in the first pane (will be right side)
13
- `tmux new-session -d -s "${sessionName}" "${d3kCommand}"`,
28
+ `tmux new-session -d -s "${sessionName}" "${d3kWithErrorHandling}"`,
14
29
  // Increase scrollback buffer for more history
15
30
  `tmux set-option -t "${sessionName}" history-limit 10000`,
16
31
  // Hide the tmux status bar for a cleaner look
17
32
  `tmux set-option -t "${sessionName}" status off`,
33
+ // Enable mouse support for scrolling, clicking to switch panes, and resizing
34
+ `tmux set-option -t "${sessionName}" mouse on`,
35
+ // Enable focus events (required for pane-focus-in hook to work)
36
+ `tmux set-option -g focus-events on`,
18
37
  // When any pane exits, kill the entire session (so Ctrl-C in either pane exits both)
19
38
  `tmux set-hook -t "${sessionName}" pane-exited "kill-session -t ${sessionName}"`,
39
+ // When terminal is resized, maintain the pane width ratio
40
+ `tmux set-hook -t "${sessionName}" client-resized "resize-pane -t :.0 -x ${paneWidthPercent}%"`,
20
41
  // Make inactive pane borders subtle gray, active pane border purple to show focus
21
42
  `tmux set-option -t "${sessionName}" pane-border-style "fg=#333333"`,
22
43
  `tmux set-option -t "${sessionName}" pane-active-border-style "fg=#A18CE5"`,
23
44
  // Split horizontally and run agent in the new pane (left side)
24
45
  // -b puts the new pane before (left of) the current one
25
- `tmux split-window -h -b -p ${paneWidthPercent} -t "${sessionName}" "${agentWithDelay}"`,
46
+ // -l sets the size of the NEW pane (agent)
47
+ `tmux split-window -h -b -l ${paneWidthPercent}% -t "${sessionName}" "${agentWithErrorHandling}"`,
48
+ // When focus changes (via mouse click or keyboard), resize focused pane to 75%
49
+ // Note: pane-focus-in is a window-level hook, requires -w flag
50
+ `tmux set-hook -w -t "${sessionName}" pane-focus-in 'resize-pane -x ${paneWidthPercent}%'`,
51
+ // Bind Ctrl+B Left to focus agent pane (left/pane 0) AND resize it
52
+ // Use single quotes to prevent shell from interpreting the semicolon
53
+ `tmux bind-key -T prefix Left 'select-pane -t :.0 ; resize-pane -t :.0 -x ${paneWidthPercent}%'`,
54
+ // Bind Ctrl+B Right to focus d3k pane (right/pane 1) AND resize it
55
+ `tmux bind-key -T prefix Right 'select-pane -t :.1 ; resize-pane -t :.1 -x ${paneWidthPercent}%'`,
26
56
  // Focus on the agent pane (left side, pane 0 after split with -b)
27
57
  `tmux select-pane -t "${sessionName}:0.0"`
28
58
  ];
@@ -56,7 +86,7 @@ export function getTmuxInstallInstructions() {
56
86
  * Default configuration for tmux split-screen.
57
87
  */
58
88
  export const DEFAULT_TMUX_CONFIG = {
59
- agentDelay: 5, // 5 seconds for MCP to start
60
- paneWidthPercent: 65 // Agent gets 65% of width
89
+ agentDelay: 2, // seconds to wait for MCP to start
90
+ paneWidthPercent: 75 // Agent gets 75% of width
61
91
  };
62
92
  //# sourceMappingURL=tmux-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tmux-helpers.js","sourceRoot":"","sources":["../../src/utils/tmux-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAA;IAEtF,MAAM,cAAc,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;IAE/F,OAAO;QACL,qEAAqE;QACrE,2BAA2B,WAAW,MAAM,UAAU,GAAG;QAEzD,8CAA8C;QAC9C,uBAAuB,WAAW,uBAAuB;QAEzD,8CAA8C;QAC9C,uBAAuB,WAAW,cAAc;QAEhD,qFAAqF;QACrF,qBAAqB,WAAW,kCAAkC,WAAW,GAAG;QAEhF,kFAAkF;QAClF,uBAAuB,WAAW,kCAAkC;QACpE,uBAAuB,WAAW,yCAAyC;QAE3E,+DAA+D;QAC/D,wDAAwD;QACxD,8BAA8B,gBAAgB,QAAQ,WAAW,MAAM,cAAc,GAAG;QAExF,kEAAkE;QAClE,wBAAwB,WAAW,OAAO;KAC3C,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;IAClD,IAAI,CAAC;QACH,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,CAAC,2BAA2B,EAAE,+BAA+B,EAAE,+BAA+B,CAAC,CAAA;AACxG,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,CAAC,EAAE,6BAA6B;IAC5C,gBAAgB,EAAE,EAAE,CAAC,0BAA0B;CAChD,CAAA"}
1
+ {"version":3,"file":"tmux-helpers.js","sourceRoot":"","sources":["../../src/utils/tmux-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;;GAGG;AACH,SAAS,4BAA4B,CAAC,GAAW,EAAE,IAAY;IAC7D,2DAA2D;IAC3D,gEAAgE;IAChE,2FAA2F;IAC3F,OAAO,YAAY,GAAG,kEAAkE,IAAI,4FAA4F,CAAA;AAC1L,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAA;IAEtF,kEAAkE;IAClE,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IAC5E,sDAAsD;IACtD,uEAAuE;IACvE,MAAM,cAAc,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;IAC/F,MAAM,sBAAsB,GAAG,4BAA4B,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAEpF,OAAO;QACL,qEAAqE;QACrE,2BAA2B,WAAW,MAAM,oBAAoB,GAAG;QAEnE,8CAA8C;QAC9C,uBAAuB,WAAW,uBAAuB;QAEzD,8CAA8C;QAC9C,uBAAuB,WAAW,cAAc;QAEhD,6EAA6E;QAC7E,uBAAuB,WAAW,YAAY;QAE9C,gEAAgE;QAChE,oCAAoC;QAEpC,qFAAqF;QACrF,qBAAqB,WAAW,kCAAkC,WAAW,GAAG;QAEhF,0DAA0D;QAC1D,qBAAqB,WAAW,2CAA2C,gBAAgB,IAAI;QAE/F,kFAAkF;QAClF,uBAAuB,WAAW,kCAAkC;QACpE,uBAAuB,WAAW,yCAAyC;QAE3E,+DAA+D;QAC/D,wDAAwD;QACxD,2CAA2C;QAC3C,8BAA8B,gBAAgB,SAAS,WAAW,MAAM,sBAAsB,GAAG;QAEjG,+EAA+E;QAC/E,+DAA+D;QAC/D,wBAAwB,WAAW,mCAAmC,gBAAgB,IAAI;QAE1F,mEAAmE;QACnE,qEAAqE;QACrE,4EAA4E,gBAAgB,IAAI;QAEhG,mEAAmE;QACnE,6EAA6E,gBAAgB,IAAI;QAEjG,kEAAkE;QAClE,wBAAwB,WAAW,OAAO;KAC3C,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;IAClD,IAAI,CAAC;QACH,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,CAAC,2BAA2B,EAAE,+BAA+B,EAAE,+BAA+B,CAAC,CAAA;AACxG,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,CAAC,EAAE,mCAAmC;IAClD,gBAAgB,EAAE,EAAE,CAAC,0BAA0B;CAChD,CAAA"}