tmux-ide 2.1.5 → 2.6.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 (969) hide show
  1. package/README.md +115 -101
  2. package/bin/cli.js +13686 -4
  3. package/bin/cli.ts +1143 -260
  4. package/bunfig.toml +4 -0
  5. package/package.json +36 -18
  6. package/packages/contracts/package.json +22 -0
  7. package/packages/contracts/src/__tests__/ide-config.test.ts +46 -0
  8. package/packages/contracts/src/__tests__/terminals.test.ts +87 -0
  9. package/packages/contracts/src/actions-contract.ts +310 -0
  10. package/packages/contracts/src/actions-errors.ts +41 -0
  11. package/packages/contracts/src/domain.ts +36 -0
  12. package/packages/contracts/src/ide-config.ts +170 -0
  13. package/packages/contracts/src/index.ts +24 -0
  14. package/packages/contracts/src/lib-internal/hq.ts +38 -0
  15. package/packages/contracts/src/terminals.ts +116 -0
  16. package/packages/contracts/src/tmux.ts +60 -0
  17. package/packages/contracts/src/workspace.ts +67 -0
  18. package/packages/daemon/dist/__tests__/support.d.ts +7 -0
  19. package/packages/daemon/dist/__tests__/support.js +33 -0
  20. package/packages/daemon/dist/agent-explain.d.ts +45 -0
  21. package/packages/daemon/dist/agent-explain.js +210 -0
  22. package/packages/daemon/dist/attach.d.ts +3 -0
  23. package/packages/daemon/dist/attach.js +14 -0
  24. package/packages/daemon/dist/bin.d.ts +2 -0
  25. package/packages/daemon/dist/bin.js +3 -0
  26. package/packages/daemon/dist/canonical.d.ts +2 -0
  27. package/packages/daemon/dist/canonical.js +1 -0
  28. package/packages/daemon/dist/cli.d.ts +1 -0
  29. package/packages/daemon/dist/cli.js +425 -0
  30. package/packages/daemon/dist/command-center/actions/contract.d.ts +1 -0
  31. package/packages/daemon/dist/command-center/actions/contract.js +2 -0
  32. package/packages/daemon/dist/command-center/actions/dispatcher.d.ts +27 -0
  33. package/packages/daemon/dist/command-center/actions/dispatcher.js +109 -0
  34. package/packages/daemon/dist/command-center/actions/errors.d.ts +38 -0
  35. package/packages/daemon/dist/command-center/actions/errors.js +56 -0
  36. package/packages/daemon/dist/command-center/actions/handlers/_project-context.d.ts +12 -0
  37. package/packages/daemon/dist/command-center/actions/handlers/_project-context.js +12 -0
  38. package/packages/daemon/dist/command-center/actions/handlers/_resolve-project.d.ts +42 -0
  39. package/packages/daemon/dist/command-center/actions/handlers/_resolve-project.js +48 -0
  40. package/packages/daemon/dist/command-center/actions/handlers/app-set-remote-access.d.ts +23 -0
  41. package/packages/daemon/dist/command-center/actions/handlers/app-set-remote-access.js +67 -0
  42. package/packages/daemon/dist/command-center/actions/handlers/config-actions.d.ts +12 -0
  43. package/packages/daemon/dist/command-center/actions/handlers/config-actions.js +69 -0
  44. package/packages/daemon/dist/command-center/actions/handlers/daemon-shutdown.d.ts +6 -0
  45. package/packages/daemon/dist/command-center/actions/handlers/daemon-shutdown.js +24 -0
  46. package/packages/daemon/dist/command-center/actions/handlers/project-activate.d.ts +7 -0
  47. package/packages/daemon/dist/command-center/actions/handlers/project-activate.js +19 -0
  48. package/packages/daemon/dist/command-center/actions/handlers/project-launch.d.ts +18 -0
  49. package/packages/daemon/dist/command-center/actions/handlers/project-launch.js +58 -0
  50. package/packages/daemon/dist/command-center/actions/handlers/project-open-terminal.d.ts +32 -0
  51. package/packages/daemon/dist/command-center/actions/handlers/project-open-terminal.js +69 -0
  52. package/packages/daemon/dist/command-center/actions/handlers/project-restart.d.ts +17 -0
  53. package/packages/daemon/dist/command-center/actions/handlers/project-restart.js +27 -0
  54. package/packages/daemon/dist/command-center/actions/handlers/project-stop.d.ts +24 -0
  55. package/packages/daemon/dist/command-center/actions/handlers/project-stop.js +38 -0
  56. package/packages/daemon/dist/command-center/actions/handlers/terminal-respawn.d.ts +24 -0
  57. package/packages/daemon/dist/command-center/actions/handlers/terminal-respawn.js +88 -0
  58. package/packages/daemon/dist/command-center/actions/handlers/terminal-stop.d.ts +14 -0
  59. package/packages/daemon/dist/command-center/actions/handlers/terminal-stop.js +22 -0
  60. package/packages/daemon/dist/command-center/actions/registry.d.ts +35 -0
  61. package/packages/daemon/dist/command-center/actions/registry.js +109 -0
  62. package/packages/daemon/dist/command-center/discovery.d.ts +23 -0
  63. package/packages/daemon/dist/command-center/discovery.js +67 -0
  64. package/packages/daemon/dist/command-center/index.d.ts +10 -0
  65. package/packages/daemon/dist/command-center/index.js +21 -0
  66. package/packages/daemon/dist/command-center/schemas.d.ts +76 -0
  67. package/packages/daemon/dist/command-center/schemas.js +68 -0
  68. package/packages/daemon/dist/command-center/server.d.ts +26 -0
  69. package/packages/daemon/dist/command-center/server.js +1103 -0
  70. package/packages/daemon/dist/command-center/ws-events.d.ts +59 -0
  71. package/packages/daemon/dist/command-center/ws-events.js +277 -0
  72. package/packages/daemon/dist/config.d.ts +19 -0
  73. package/packages/daemon/dist/config.js +494 -0
  74. package/packages/daemon/dist/detect.d.ts +15 -0
  75. package/packages/daemon/dist/detect.js +228 -0
  76. package/packages/daemon/dist/doctor.d.ts +21 -0
  77. package/packages/daemon/dist/doctor.js +154 -0
  78. package/packages/daemon/dist/embed.d.ts +1 -0
  79. package/packages/daemon/dist/embed.js +1 -0
  80. package/packages/daemon/dist/index.d.ts +3 -0
  81. package/packages/daemon/dist/index.js +2 -0
  82. package/packages/daemon/dist/init.d.ts +4 -0
  83. package/packages/daemon/dist/init.js +174 -0
  84. package/packages/daemon/dist/inspect.d.ts +54 -0
  85. package/packages/daemon/dist/inspect.js +118 -0
  86. package/packages/daemon/dist/launch.d.ts +23 -0
  87. package/packages/daemon/dist/launch.js +250 -0
  88. package/packages/daemon/dist/lib/active-projects.d.ts +12 -0
  89. package/packages/daemon/dist/lib/active-projects.js +35 -0
  90. package/packages/daemon/dist/lib/agent-discovery.d.ts +43 -0
  91. package/packages/daemon/dist/lib/agent-discovery.js +85 -0
  92. package/packages/daemon/dist/lib/app-config.d.ts +147 -0
  93. package/packages/daemon/dist/lib/app-config.js +191 -0
  94. package/packages/daemon/dist/lib/app-settings.d.ts +9 -0
  95. package/packages/daemon/dist/lib/app-settings.js +44 -0
  96. package/packages/daemon/dist/lib/auth/auth-service.d.ts +33 -0
  97. package/packages/daemon/dist/lib/auth/auth-service.js +172 -0
  98. package/packages/daemon/dist/lib/auth/middleware.d.ts +16 -0
  99. package/packages/daemon/dist/lib/auth/middleware.js +43 -0
  100. package/packages/daemon/dist/lib/auth/types.d.ts +1 -0
  101. package/packages/daemon/dist/lib/auth/types.js +2 -0
  102. package/packages/daemon/dist/lib/auth-token.d.ts +1 -0
  103. package/packages/daemon/dist/lib/auth-token.js +4 -0
  104. package/packages/daemon/dist/lib/authorship.d.ts +62 -0
  105. package/packages/daemon/dist/lib/authorship.js +209 -0
  106. package/packages/daemon/dist/lib/canonical-daemon.d.ts +21 -0
  107. package/packages/daemon/dist/lib/canonical-daemon.js +111 -0
  108. package/packages/daemon/dist/lib/cli-action-bridge.d.ts +27 -0
  109. package/packages/daemon/dist/lib/cli-action-bridge.js +161 -0
  110. package/packages/daemon/dist/lib/daemon-embed.d.ts +31 -0
  111. package/packages/daemon/dist/lib/daemon-embed.js +643 -0
  112. package/packages/daemon/dist/lib/daemon-watchdog.d.ts +16 -0
  113. package/packages/daemon/dist/lib/daemon-watchdog.js +98 -0
  114. package/packages/daemon/dist/lib/daemon.d.ts +8 -0
  115. package/packages/daemon/dist/lib/daemon.js +79 -0
  116. package/packages/daemon/dist/lib/dot-path.d.ts +2 -0
  117. package/packages/daemon/dist/lib/dot-path.js +17 -0
  118. package/packages/daemon/dist/lib/errors.d.ts +37 -0
  119. package/packages/daemon/dist/lib/errors.js +50 -0
  120. package/packages/daemon/dist/lib/filesystem-browser.d.ts +85 -0
  121. package/packages/daemon/dist/lib/filesystem-browser.js +257 -0
  122. package/packages/daemon/dist/lib/launch-plan.d.ts +6 -0
  123. package/packages/daemon/dist/lib/launch-plan.js +76 -0
  124. package/packages/daemon/dist/lib/log.d.ts +40 -0
  125. package/packages/daemon/dist/lib/log.js +86 -0
  126. package/packages/daemon/dist/lib/output.d.ts +9 -0
  127. package/packages/daemon/dist/lib/output.js +65 -0
  128. package/packages/daemon/dist/lib/project-init-runner.d.ts +46 -0
  129. package/packages/daemon/dist/lib/project-init-runner.js +117 -0
  130. package/packages/daemon/dist/lib/project-inspect.d.ts +28 -0
  131. package/packages/daemon/dist/lib/project-inspect.js +67 -0
  132. package/packages/daemon/dist/lib/project-onboard.d.ts +58 -0
  133. package/packages/daemon/dist/lib/project-onboard.js +108 -0
  134. package/packages/daemon/dist/lib/project-probe.d.ts +35 -0
  135. package/packages/daemon/dist/lib/project-probe.js +61 -0
  136. package/packages/daemon/dist/lib/project-registry.d.ts +76 -0
  137. package/packages/daemon/dist/lib/project-registry.js +230 -0
  138. package/packages/daemon/dist/lib/session-monitor.d.ts +15 -0
  139. package/packages/daemon/dist/lib/session-monitor.js +103 -0
  140. package/packages/daemon/dist/lib/session-options.d.ts +13 -0
  141. package/packages/daemon/dist/lib/session-options.js +85 -0
  142. package/packages/daemon/dist/lib/shell.d.ts +5 -0
  143. package/packages/daemon/dist/lib/shell.js +8 -0
  144. package/packages/daemon/dist/lib/sizes.d.ts +16 -0
  145. package/packages/daemon/dist/lib/sizes.js +36 -0
  146. package/packages/daemon/dist/lib/skill-sync.d.ts +60 -0
  147. package/packages/daemon/dist/lib/skill-sync.js +128 -0
  148. package/packages/daemon/dist/lib/slugify.d.ts +4 -0
  149. package/packages/daemon/dist/lib/slugify.js +10 -0
  150. package/packages/daemon/dist/lib/terminals-store.d.ts +27 -0
  151. package/packages/daemon/dist/lib/terminals-store.js +111 -0
  152. package/packages/daemon/dist/lib/update-check.d.ts +118 -0
  153. package/packages/daemon/dist/lib/update-check.js +261 -0
  154. package/packages/daemon/dist/lib/update.d.ts +65 -0
  155. package/packages/daemon/dist/lib/update.js +141 -0
  156. package/packages/daemon/dist/lib/workspace-registry.d.ts +84 -0
  157. package/packages/daemon/dist/lib/workspace-registry.js +176 -0
  158. package/packages/daemon/dist/lib/worktree.d.ts +76 -0
  159. package/packages/daemon/dist/lib/worktree.js +207 -0
  160. package/packages/daemon/dist/lib/yaml-io.d.ts +10 -0
  161. package/packages/daemon/dist/lib/yaml-io.js +24 -0
  162. package/packages/daemon/dist/ls.d.ts +3 -0
  163. package/packages/daemon/dist/ls.js +35 -0
  164. package/packages/daemon/dist/restart.d.ts +4 -0
  165. package/packages/daemon/dist/restart.js +16 -0
  166. package/packages/daemon/dist/restore.d.ts +86 -0
  167. package/packages/daemon/dist/restore.js +406 -0
  168. package/packages/daemon/dist/schemas/domain.d.ts +1 -0
  169. package/packages/daemon/dist/schemas/domain.js +2 -0
  170. package/packages/daemon/dist/schemas/filesystem.d.ts +29 -0
  171. package/packages/daemon/dist/schemas/filesystem.js +29 -0
  172. package/packages/daemon/dist/schemas/ide-config.d.ts +1 -0
  173. package/packages/daemon/dist/schemas/ide-config.js +2 -0
  174. package/packages/daemon/dist/schemas/index.d.ts +12 -0
  175. package/packages/daemon/dist/schemas/index.js +6 -0
  176. package/packages/daemon/dist/schemas/inspect.d.ts +53 -0
  177. package/packages/daemon/dist/schemas/inspect.js +57 -0
  178. package/packages/daemon/dist/schemas/registry.d.ts +35 -0
  179. package/packages/daemon/dist/schemas/registry.js +43 -0
  180. package/packages/daemon/dist/schemas/ws-events.d.ts +72 -0
  181. package/packages/daemon/dist/schemas/ws-events.js +110 -0
  182. package/packages/daemon/dist/send.d.ts +27 -0
  183. package/packages/daemon/dist/send.js +141 -0
  184. package/packages/daemon/dist/server/index.d.ts +10 -0
  185. package/packages/daemon/dist/server/index.js +55 -0
  186. package/packages/daemon/dist/server/pty-bridge.d.ts +174 -0
  187. package/packages/daemon/dist/server/pty-bridge.js +422 -0
  188. package/packages/daemon/dist/server/standalone.d.ts +1 -0
  189. package/packages/daemon/dist/server/standalone.js +14 -0
  190. package/packages/daemon/dist/server/ws-route.d.ts +74 -0
  191. package/packages/daemon/dist/server/ws-route.js +379 -0
  192. package/packages/daemon/dist/status.d.ts +3 -0
  193. package/packages/daemon/dist/status.js +46 -0
  194. package/packages/daemon/dist/stop.d.ts +3 -0
  195. package/packages/daemon/dist/stop.js +21 -0
  196. package/packages/daemon/dist/terminal/NodePtyAdapter.d.ts +44 -0
  197. package/packages/daemon/dist/terminal/NodePtyAdapter.js +253 -0
  198. package/packages/daemon/dist/terminal/PtyAdapter.d.ts +124 -0
  199. package/packages/daemon/dist/terminal/PtyAdapter.js +43 -0
  200. package/packages/daemon/dist/terminal/__tests__/MockPtyAdapter.d.ts +77 -0
  201. package/packages/daemon/dist/terminal/__tests__/MockPtyAdapter.js +155 -0
  202. package/packages/daemon/dist/types.d.ts +2 -0
  203. package/packages/daemon/dist/types.js +1 -0
  204. package/packages/daemon/dist/validate.d.ts +4 -0
  205. package/packages/daemon/dist/validate.js +184 -0
  206. package/packages/daemon/dist/widgets/changes/index.d.ts +1 -0
  207. package/packages/daemon/dist/widgets/changes/index.jsx +575 -0
  208. package/packages/daemon/dist/widgets/config/index.d.ts +1 -0
  209. package/packages/daemon/dist/widgets/config/index.jsx +395 -0
  210. package/packages/daemon/dist/widgets/explorer/breadcrumbs.d.ts +10 -0
  211. package/packages/daemon/dist/widgets/explorer/breadcrumbs.jsx +51 -0
  212. package/packages/daemon/dist/widgets/explorer/footer.d.ts +6 -0
  213. package/packages/daemon/dist/widgets/explorer/footer.jsx +11 -0
  214. package/packages/daemon/dist/widgets/explorer/index.d.ts +1 -0
  215. package/packages/daemon/dist/widgets/explorer/index.jsx +393 -0
  216. package/packages/daemon/dist/widgets/explorer/tree-model.d.ts +13 -0
  217. package/packages/daemon/dist/widgets/explorer/tree-model.js +69 -0
  218. package/packages/daemon/dist/widgets/explorer/tree.d.ts +13 -0
  219. package/packages/daemon/dist/widgets/explorer/tree.jsx +108 -0
  220. package/packages/daemon/dist/widgets/lib/config-model.d.ts +22 -0
  221. package/packages/daemon/dist/widgets/lib/config-model.js +99 -0
  222. package/packages/daemon/dist/widgets/lib/files.d.ts +11 -0
  223. package/packages/daemon/dist/widgets/lib/files.js +76 -0
  224. package/packages/daemon/dist/widgets/lib/git.d.ts +11 -0
  225. package/packages/daemon/dist/widgets/lib/git.js +70 -0
  226. package/packages/daemon/dist/widgets/lib/grammar.d.ts +79 -0
  227. package/packages/daemon/dist/widgets/lib/grammar.js +95 -0
  228. package/packages/daemon/dist/widgets/lib/help-overlay.d.ts +19 -0
  229. package/packages/daemon/dist/widgets/lib/help-overlay.jsx +69 -0
  230. package/packages/daemon/dist/widgets/lib/pane-comms.d.ts +28 -0
  231. package/packages/daemon/dist/widgets/lib/pane-comms.js +189 -0
  232. package/packages/daemon/dist/widgets/lib/theme.d.ts +44 -0
  233. package/packages/daemon/dist/widgets/lib/theme.js +153 -0
  234. package/packages/daemon/dist/widgets/lib/watcher.d.ts +9 -0
  235. package/packages/daemon/dist/widgets/lib/watcher.js +92 -0
  236. package/packages/daemon/dist/widgets/preview/index.d.ts +1 -0
  237. package/packages/daemon/dist/widgets/preview/index.jsx +371 -0
  238. package/packages/daemon/dist/widgets/resolve.d.ts +20 -0
  239. package/packages/daemon/dist/widgets/resolve.js +100 -0
  240. package/packages/daemon/dist/widgets/setup/agent-naming.d.ts +9 -0
  241. package/packages/daemon/dist/widgets/setup/agent-naming.jsx +81 -0
  242. package/packages/daemon/dist/widgets/setup/config-tree.d.ts +13 -0
  243. package/packages/daemon/dist/widgets/setup/config-tree.jsx +203 -0
  244. package/packages/daemon/dist/widgets/setup/detect-panel.d.ts +14 -0
  245. package/packages/daemon/dist/widgets/setup/detect-panel.jsx +48 -0
  246. package/packages/daemon/dist/widgets/setup/field-editor.d.ts +12 -0
  247. package/packages/daemon/dist/widgets/setup/field-editor.jsx +163 -0
  248. package/packages/daemon/dist/widgets/setup/footer.d.ts +17 -0
  249. package/packages/daemon/dist/widgets/setup/footer.jsx +64 -0
  250. package/packages/daemon/dist/widgets/setup/index.d.ts +1 -0
  251. package/packages/daemon/dist/widgets/setup/index.jsx +261 -0
  252. package/packages/daemon/dist/widgets/setup/layout-picker.d.ts +9 -0
  253. package/packages/daemon/dist/widgets/setup/layout-picker.jsx +69 -0
  254. package/packages/daemon/dist/widgets/setup/setup-model.d.ts +15 -0
  255. package/packages/daemon/dist/widgets/setup/setup-model.js +157 -0
  256. package/packages/daemon/dist/widgets/sidebar/index.d.ts +1 -0
  257. package/packages/daemon/dist/widgets/sidebar/index.jsx +462 -0
  258. package/packages/daemon/src/agent-explain.ts +270 -0
  259. package/packages/daemon/src/attach.ts +20 -0
  260. package/packages/daemon/src/bin.ts +4 -0
  261. package/packages/daemon/src/canonical.ts +7 -0
  262. package/packages/daemon/src/cli.ts +499 -0
  263. package/packages/daemon/src/command-center/actions/contract.ts +2 -0
  264. package/packages/daemon/src/command-center/actions/dispatcher.ts +137 -0
  265. package/packages/daemon/src/command-center/actions/errors.ts +105 -0
  266. package/packages/daemon/src/command-center/actions/handlers/_project-context.ts +30 -0
  267. package/packages/daemon/src/command-center/actions/handlers/_resolve-project.ts +78 -0
  268. package/packages/daemon/src/command-center/actions/handlers/app-set-remote-access.ts +118 -0
  269. package/packages/daemon/src/command-center/actions/handlers/config-actions.ts +113 -0
  270. package/packages/daemon/src/command-center/actions/handlers/daemon-shutdown.ts +38 -0
  271. package/packages/daemon/src/command-center/actions/handlers/project-activate.ts +30 -0
  272. package/packages/daemon/src/command-center/actions/handlers/project-launch.ts +70 -0
  273. package/packages/daemon/src/command-center/actions/handlers/project-open-terminal.ts +87 -0
  274. package/packages/daemon/src/command-center/actions/handlers/project-restart.ts +38 -0
  275. package/packages/daemon/src/command-center/actions/handlers/project-stop.ts +62 -0
  276. package/packages/daemon/src/command-center/actions/handlers/terminal-respawn.ts +119 -0
  277. package/packages/daemon/src/command-center/actions/handlers/terminal-stop.ts +35 -0
  278. package/packages/daemon/src/command-center/actions/registry.ts +149 -0
  279. package/packages/daemon/src/command-center/discovery.ts +96 -0
  280. package/packages/daemon/src/command-center/schemas.ts +85 -0
  281. package/packages/daemon/src/command-center/server.ts +1260 -0
  282. package/packages/daemon/src/command-center/ws-events.ts +316 -0
  283. package/packages/daemon/src/config.ts +549 -0
  284. package/packages/daemon/src/doctor.ts +242 -0
  285. package/packages/daemon/src/embed.ts +5 -0
  286. package/packages/daemon/src/index.ts +12 -0
  287. package/packages/daemon/src/init.ts +211 -0
  288. package/packages/daemon/src/inspect.ts +178 -0
  289. package/packages/daemon/src/launch.ts +349 -0
  290. package/packages/daemon/src/lib/active-projects.ts +49 -0
  291. package/packages/daemon/src/lib/agent-discovery.ts +121 -0
  292. package/packages/daemon/src/lib/app-config.ts +336 -0
  293. package/packages/daemon/src/lib/app-settings.ts +53 -0
  294. package/packages/daemon/src/lib/auth/types.ts +2 -0
  295. package/packages/daemon/src/lib/auth-token.ts +5 -0
  296. package/packages/daemon/src/lib/canonical-daemon.ts +122 -0
  297. package/packages/daemon/src/lib/cli-action-bridge.ts +216 -0
  298. package/packages/daemon/src/lib/daemon-embed.ts +782 -0
  299. package/packages/daemon/src/lib/daemon-watchdog.ts +111 -0
  300. package/packages/daemon/src/lib/daemon.ts +79 -0
  301. package/packages/daemon/src/lib/errors.ts +67 -0
  302. package/packages/daemon/src/lib/filesystem-browser.ts +292 -0
  303. package/packages/daemon/src/lib/log.ts +134 -0
  304. package/packages/daemon/src/lib/output.ts +76 -0
  305. package/packages/daemon/src/lib/project-init-runner.ts +150 -0
  306. package/packages/daemon/src/lib/project-inspect.ts +80 -0
  307. package/packages/daemon/src/lib/project-onboard.ts +149 -0
  308. package/packages/daemon/src/lib/project-probe.ts +92 -0
  309. package/packages/daemon/src/lib/project-registry.ts +296 -0
  310. package/packages/daemon/src/lib/session-monitor.ts +122 -0
  311. package/packages/daemon/src/lib/skill-sync.ts +155 -0
  312. package/packages/daemon/src/lib/terminals-store.ts +125 -0
  313. package/packages/daemon/src/lib/update-check.ts +298 -0
  314. package/packages/daemon/src/lib/update.ts +158 -0
  315. package/packages/daemon/src/lib/workspace-registry.ts +229 -0
  316. package/packages/daemon/src/lib/worktree.ts +289 -0
  317. package/packages/daemon/src/restart.ts +24 -0
  318. package/packages/daemon/src/restore.ts +514 -0
  319. package/packages/daemon/src/schemas/domain.ts +2 -0
  320. package/packages/daemon/src/schemas/filesystem.ts +34 -0
  321. package/packages/daemon/src/schemas/ide-config.ts +2 -0
  322. package/packages/daemon/src/schemas/index.ts +59 -0
  323. package/packages/daemon/src/schemas/inspect.ts +67 -0
  324. package/packages/daemon/src/schemas/registry.ts +55 -0
  325. package/packages/daemon/src/schemas/ws-events.ts +135 -0
  326. package/packages/daemon/src/send.ts +171 -0
  327. package/packages/daemon/src/server/README.md +15 -0
  328. package/packages/daemon/src/server/index.ts +74 -0
  329. package/packages/daemon/src/server/pty-bridge.ts +532 -0
  330. package/packages/daemon/src/server/standalone.ts +18 -0
  331. package/packages/daemon/src/server/ws-route.ts +483 -0
  332. package/packages/daemon/src/status.ts +59 -0
  333. package/packages/daemon/src/stop.ts +28 -0
  334. package/packages/daemon/src/terminal/NodePtyAdapter.ts +271 -0
  335. package/packages/daemon/src/terminal/PtyAdapter.ts +140 -0
  336. package/packages/daemon/src/terminal/README.md +92 -0
  337. package/packages/daemon/src/tui/chrome/cheatsheet.ts +260 -0
  338. package/packages/daemon/src/tui/chrome/chip.ts +30 -0
  339. package/packages/daemon/src/tui/chrome/events.ts +119 -0
  340. package/packages/daemon/src/tui/chrome/kitty-keys.ts +55 -0
  341. package/packages/daemon/src/tui/chrome/menu.ts +289 -0
  342. package/packages/daemon/src/tui/chrome/notify.ts +195 -0
  343. package/packages/daemon/src/tui/chrome/panels.ts +111 -0
  344. package/packages/daemon/src/tui/chrome/sidebar.ts +222 -0
  345. package/packages/daemon/src/tui/chrome/snapshot.ts +425 -0
  346. package/packages/daemon/src/tui/chrome/statusline.ts +595 -0
  347. package/packages/daemon/src/tui/chrome/updater.ts +428 -0
  348. package/packages/daemon/src/tui/chrome/welcome.ts +124 -0
  349. package/packages/daemon/src/tui/compiled.ts +113 -0
  350. package/packages/daemon/src/tui/detect/classify.ts +193 -0
  351. package/packages/daemon/src/tui/detect/manifest-loader.ts +192 -0
  352. package/packages/daemon/src/tui/detect/manifest.ts +184 -0
  353. package/packages/daemon/src/tui/detect/manifests.ts +226 -0
  354. package/packages/daemon/src/tui/detect/process-tree.ts +197 -0
  355. package/packages/daemon/src/tui/detect/snapshot.ts +70 -0
  356. package/packages/daemon/src/tui/integrations/claude.ts +176 -0
  357. package/packages/daemon/src/tui/integrations/offer.ts +145 -0
  358. package/packages/daemon/src/tui/main.ts +70 -0
  359. package/packages/daemon/src/tui/mirror/control-client.ts +143 -0
  360. package/packages/daemon/src/tui/mirror/control.ts +97 -0
  361. package/packages/daemon/src/tui/mirror/pane-mirror.ts +81 -0
  362. package/packages/daemon/src/tui/mirror/viewer.tsx +166 -0
  363. package/packages/daemon/src/tui/team/CONTROL.md +50 -0
  364. package/packages/daemon/src/tui/team/entry.ts +11 -0
  365. package/packages/daemon/src/tui/team/fuzzy.ts +133 -0
  366. package/packages/daemon/src/tui/team/home.ts +170 -0
  367. package/packages/daemon/src/tui/team/index.tsx +1521 -0
  368. package/packages/daemon/src/tui/team/input.ts +34 -0
  369. package/packages/daemon/src/tui/team/keymap.ts +127 -0
  370. package/packages/daemon/src/tui/team/mouse.ts +29 -0
  371. package/packages/daemon/src/tui/team/nav.ts +31 -0
  372. package/packages/daemon/src/tui/team/preview.ts +34 -0
  373. package/packages/daemon/src/tui/team/projects.ts +191 -0
  374. package/packages/daemon/src/tui/team/report.ts +73 -0
  375. package/packages/daemon/src/tui/team/sessions.ts +344 -0
  376. package/packages/daemon/src/tui/team/tree.ts +62 -0
  377. package/packages/daemon/src/types.ts +13 -0
  378. package/packages/daemon/src/widgets/changes/README.md +3 -0
  379. package/packages/daemon/src/widgets/changes/index.tsx +691 -0
  380. package/packages/daemon/src/widgets/config/README.md +3 -0
  381. package/packages/daemon/src/widgets/config/index.tsx +481 -0
  382. package/packages/daemon/src/widgets/explorer/README.md +3 -0
  383. package/packages/daemon/src/widgets/explorer/index.tsx +456 -0
  384. package/packages/daemon/src/widgets/explorer/tree.tsx +165 -0
  385. package/packages/daemon/src/widgets/lib/grammar.ts +126 -0
  386. package/packages/daemon/src/widgets/lib/help-overlay.tsx +101 -0
  387. package/packages/daemon/src/widgets/lib/pane-comms.ts +209 -0
  388. package/packages/daemon/src/widgets/lib/theme.ts +194 -0
  389. package/packages/daemon/src/widgets/lib/watcher.ts +132 -0
  390. package/packages/daemon/src/widgets/preview/README.md +3 -0
  391. package/packages/daemon/src/widgets/preview/index.tsx +416 -0
  392. package/packages/daemon/src/widgets/resolve.ts +121 -0
  393. package/packages/daemon/src/widgets/setup/README.md +3 -0
  394. package/packages/daemon/src/widgets/setup/config-tree.tsx +246 -0
  395. package/packages/daemon/src/widgets/setup/index.tsx +341 -0
  396. package/packages/daemon/src/widgets/sidebar/index.tsx +527 -0
  397. package/packages/tmux-bridge/package.json +22 -0
  398. package/packages/tmux-bridge/src/errors.ts +28 -0
  399. package/packages/tmux-bridge/src/index.ts +31 -0
  400. package/packages/tmux-bridge/src/monitor.ts +77 -0
  401. package/packages/tmux-bridge/src/panes.ts +136 -0
  402. package/packages/tmux-bridge/src/runner.test.ts +501 -0
  403. package/packages/tmux-bridge/src/runner.ts +91 -0
  404. package/packages/tmux-bridge/src/sessions.ts +126 -0
  405. package/packages/tmux-bridge/src/targeting.test.ts +107 -0
  406. package/packages/tmux-bridge/src/targeting.ts +90 -0
  407. package/scripts/build-cli.mjs +101 -0
  408. package/scripts/build-tui.mjs +58 -0
  409. package/scripts/capture-codex-traffic.mjs +195 -0
  410. package/scripts/check-src-additions.sh +74 -0
  411. package/scripts/coverage-summary.mjs +68 -0
  412. package/scripts/install-git-hooks.js +53 -0
  413. package/scripts/merge-update-manifests.mjs +58 -0
  414. package/scripts/merge-update-manifests.test.mjs +82 -0
  415. package/scripts/pack-check-run.mjs +83 -0
  416. package/scripts/postinstall.js +53 -7
  417. package/scripts/prepublish-check.mjs +44 -0
  418. package/scripts/stress-test.ts +141 -0
  419. package/scripts/verify-endpoints.sh +90 -0
  420. package/skill/SKILL.md +203 -236
  421. package/dashboard/out/404/index.html +0 -1
  422. package/dashboard/out/404.html +0 -1
  423. package/dashboard/out/__next.__PAGE__.txt +0 -9
  424. package/dashboard/out/__next._full.txt +0 -21
  425. package/dashboard/out/__next._head.txt +0 -5
  426. package/dashboard/out/__next._index.txt +0 -7
  427. package/dashboard/out/__next._tree.txt +0 -4
  428. package/dashboard/out/_next/static/BDqbxLkiJrlXDfMXNb3cK/_buildManifest.js +0 -11
  429. package/dashboard/out/_next/static/BDqbxLkiJrlXDfMXNb3cK/_clientMiddlewareManifest.json +0 -1
  430. package/dashboard/out/_next/static/BDqbxLkiJrlXDfMXNb3cK/_ssgManifest.js +0 -1
  431. package/dashboard/out/_next/static/chunks/048e2449530877e2.js +0 -1
  432. package/dashboard/out/_next/static/chunks/053c57bda6abb959.js +0 -1
  433. package/dashboard/out/_next/static/chunks/056760c6c2dd9172.js +0 -1
  434. package/dashboard/out/_next/static/chunks/06ab47357b6d3e35.js +0 -1
  435. package/dashboard/out/_next/static/chunks/0921cbe5dfd6738e.js +0 -1
  436. package/dashboard/out/_next/static/chunks/0b2599bf468cf5ea.js +0 -1
  437. package/dashboard/out/_next/static/chunks/0c012eac08ef2c4f.js +0 -1
  438. package/dashboard/out/_next/static/chunks/0c29e87fcdcffac3.js +0 -1
  439. package/dashboard/out/_next/static/chunks/0e1e98854430c693.js +0 -1
  440. package/dashboard/out/_next/static/chunks/0e24498976a88976.js +0 -1
  441. package/dashboard/out/_next/static/chunks/0e5bf11ff0b9ab90.js +0 -1
  442. package/dashboard/out/_next/static/chunks/0eae0a45ab8416c8.js +0 -1
  443. package/dashboard/out/_next/static/chunks/104797400d9d38ad.js +0 -1
  444. package/dashboard/out/_next/static/chunks/10cfcfce475f9d2d.js +0 -1
  445. package/dashboard/out/_next/static/chunks/11bac38e7cfb4ecc.js +0 -1
  446. package/dashboard/out/_next/static/chunks/120c5f6501ec3529.js +0 -1
  447. package/dashboard/out/_next/static/chunks/121fceb2b1dcd79f.js +0 -1
  448. package/dashboard/out/_next/static/chunks/13726b63e1be6b98.js +0 -1
  449. package/dashboard/out/_next/static/chunks/140c6ce631514660.js +0 -1
  450. package/dashboard/out/_next/static/chunks/1435ee3a51174c97.js +0 -1
  451. package/dashboard/out/_next/static/chunks/14dc927d2e2cca91.js +0 -1
  452. package/dashboard/out/_next/static/chunks/179c3031b292d98e.js +0 -1
  453. package/dashboard/out/_next/static/chunks/181e88957c47e5c1.js +0 -1
  454. package/dashboard/out/_next/static/chunks/18f70ba23873c432.js +0 -1
  455. package/dashboard/out/_next/static/chunks/1b58303b027fd135.js +0 -1
  456. package/dashboard/out/_next/static/chunks/1b5f49a358dcc71e.js +0 -1
  457. package/dashboard/out/_next/static/chunks/1bba44b81585099a.js +0 -1
  458. package/dashboard/out/_next/static/chunks/1bea8dee19a3e9ae.js +0 -1
  459. package/dashboard/out/_next/static/chunks/1cfad21646fc250e.js +0 -1
  460. package/dashboard/out/_next/static/chunks/1d053dc9e1e428ef.js +0 -1
  461. package/dashboard/out/_next/static/chunks/1e7d7639c6f0ee5e.js +0 -1
  462. package/dashboard/out/_next/static/chunks/1f42504ca81463f1.js +0 -1
  463. package/dashboard/out/_next/static/chunks/20c92047399305b4.js +0 -1
  464. package/dashboard/out/_next/static/chunks/214560e9514a9a4d.js +0 -1
  465. package/dashboard/out/_next/static/chunks/21d4ef106914e997.js +0 -1
  466. package/dashboard/out/_next/static/chunks/2586e83fc3dc2588.js +0 -1
  467. package/dashboard/out/_next/static/chunks/267136a09e94f5c2.js +0 -1
  468. package/dashboard/out/_next/static/chunks/271c50b329917c10.js +0 -1
  469. package/dashboard/out/_next/static/chunks/27fccecefffd88b5.js +0 -1
  470. package/dashboard/out/_next/static/chunks/28f058ed331315b6.js +0 -1
  471. package/dashboard/out/_next/static/chunks/28f704f2cc5713eb.js +0 -1
  472. package/dashboard/out/_next/static/chunks/290f67a6cd150a98.js +0 -1
  473. package/dashboard/out/_next/static/chunks/2ad12f4dcc30d30a.js +0 -1
  474. package/dashboard/out/_next/static/chunks/2b650b172078ab92.js +0 -1
  475. package/dashboard/out/_next/static/chunks/2bd91076019a6453.js +0 -1
  476. package/dashboard/out/_next/static/chunks/2e1278563a8e26be.js +0 -1
  477. package/dashboard/out/_next/static/chunks/309eb70780a3d67d.js +0 -1
  478. package/dashboard/out/_next/static/chunks/30f71950992e2307.js +0 -1
  479. package/dashboard/out/_next/static/chunks/31191873c2075784.js +0 -1
  480. package/dashboard/out/_next/static/chunks/31a790921a0c035e.js +0 -1
  481. package/dashboard/out/_next/static/chunks/34f8d7a5a06e8e32.js +0 -1
  482. package/dashboard/out/_next/static/chunks/36b3716436d9bc9d.js +0 -1
  483. package/dashboard/out/_next/static/chunks/3770b7d0ff004de3.js +0 -1
  484. package/dashboard/out/_next/static/chunks/381ab3bd4cffbf4d.js +0 -1
  485. package/dashboard/out/_next/static/chunks/38aa4eada5dcd1a4.js +0 -1
  486. package/dashboard/out/_next/static/chunks/39723132b78cb77e.js +0 -1
  487. package/dashboard/out/_next/static/chunks/399efdcc3fe56e09.js +0 -1
  488. package/dashboard/out/_next/static/chunks/3a8431a9221b0706.js +0 -1
  489. package/dashboard/out/_next/static/chunks/3a9b40810ce88cbf.js +0 -1
  490. package/dashboard/out/_next/static/chunks/3b322e3e9476ecdf.js +0 -1
  491. package/dashboard/out/_next/static/chunks/3bb14befeeb08c28.js +0 -1
  492. package/dashboard/out/_next/static/chunks/3c99637ebd462b20.js +0 -1
  493. package/dashboard/out/_next/static/chunks/3cbb9217d56459d8.js +0 -1
  494. package/dashboard/out/_next/static/chunks/3d438e0929a762f7.js +0 -1
  495. package/dashboard/out/_next/static/chunks/3e6d4834e0752f76.js +0 -2
  496. package/dashboard/out/_next/static/chunks/3e6f8cedaad4e89b.js +0 -1
  497. package/dashboard/out/_next/static/chunks/3e701259ce1b53e3.js +0 -1
  498. package/dashboard/out/_next/static/chunks/41562f7ab7c033eb.js +0 -1
  499. package/dashboard/out/_next/static/chunks/418fadd8a94e2fd7.js +0 -1
  500. package/dashboard/out/_next/static/chunks/42345437bb922e9c.js +0 -1
  501. package/dashboard/out/_next/static/chunks/434b6bd78c97b668.js +0 -1
  502. package/dashboard/out/_next/static/chunks/434febe897d33e2d.js +0 -1
  503. package/dashboard/out/_next/static/chunks/45d28707dd8ce1c1.js +0 -1
  504. package/dashboard/out/_next/static/chunks/4620a640e88cb1b7.js +0 -1
  505. package/dashboard/out/_next/static/chunks/468f8eb604502ea4.js +0 -1
  506. package/dashboard/out/_next/static/chunks/495f5cedf8afe823.js +0 -1
  507. package/dashboard/out/_next/static/chunks/49a89d1704d27740.js +0 -1
  508. package/dashboard/out/_next/static/chunks/49e5c37d15f63def.js +0 -1
  509. package/dashboard/out/_next/static/chunks/4a46ad186a8587ee.css +0 -2
  510. package/dashboard/out/_next/static/chunks/4a5c728574935d50.js +0 -1
  511. package/dashboard/out/_next/static/chunks/4b27ebd4d9304d8f.js +0 -1
  512. package/dashboard/out/_next/static/chunks/4b965aa320a9b358.js +0 -1
  513. package/dashboard/out/_next/static/chunks/4bb2da90bbe5794f.js +0 -1
  514. package/dashboard/out/_next/static/chunks/4d2f1c6f631e4b85.js +0 -1
  515. package/dashboard/out/_next/static/chunks/4d696d5a64dab42e.js +0 -1
  516. package/dashboard/out/_next/static/chunks/4f660dadb3f1e9e2.js +0 -1
  517. package/dashboard/out/_next/static/chunks/507b50d47f949333.js +0 -1
  518. package/dashboard/out/_next/static/chunks/50b1b7063bb044e2.js +0 -1
  519. package/dashboard/out/_next/static/chunks/50c0c2e3c4f02508.js +0 -1
  520. package/dashboard/out/_next/static/chunks/50d7ba9803e65b02.js +0 -1
  521. package/dashboard/out/_next/static/chunks/51535a6d4c98c7a4.js +0 -1
  522. package/dashboard/out/_next/static/chunks/526de6cc16c7dd2f.js +0 -1
  523. package/dashboard/out/_next/static/chunks/5307604f8632b3fd.js +0 -1
  524. package/dashboard/out/_next/static/chunks/5480bd722260f231.js +0 -1
  525. package/dashboard/out/_next/static/chunks/54c61c82e5f1dca5.js +0 -1
  526. package/dashboard/out/_next/static/chunks/555de6ac6bb9034c.js +0 -1
  527. package/dashboard/out/_next/static/chunks/562b89ee76a4b90c.js +0 -1
  528. package/dashboard/out/_next/static/chunks/5747f9a32edff429.js +0 -1
  529. package/dashboard/out/_next/static/chunks/57ee141430b4c05c.js +0 -1
  530. package/dashboard/out/_next/static/chunks/584c066a0837dd9a.js +0 -1
  531. package/dashboard/out/_next/static/chunks/5856aed4670a6253.js +0 -1
  532. package/dashboard/out/_next/static/chunks/58fe563414726511.js +0 -1
  533. package/dashboard/out/_next/static/chunks/5948196b2729b18c.js +0 -1
  534. package/dashboard/out/_next/static/chunks/5ab77c69e7306f97.js +0 -1
  535. package/dashboard/out/_next/static/chunks/5b3fa4c99d61611c.js +0 -1
  536. package/dashboard/out/_next/static/chunks/5cc87abaef616661.js +0 -1
  537. package/dashboard/out/_next/static/chunks/5dfa7913f99bb966.js +0 -1
  538. package/dashboard/out/_next/static/chunks/5e49b008432770f1.js +0 -1
  539. package/dashboard/out/_next/static/chunks/5e5a33dd81c45c47.js +0 -1
  540. package/dashboard/out/_next/static/chunks/5ee61bed638eb8a8.js +0 -1
  541. package/dashboard/out/_next/static/chunks/5eed557b9f45ae4a.js +0 -1
  542. package/dashboard/out/_next/static/chunks/60446823a7d30c1b.js +0 -1
  543. package/dashboard/out/_next/static/chunks/605150c490861442.js +0 -1
  544. package/dashboard/out/_next/static/chunks/609056d51c0bf332.js +0 -1
  545. package/dashboard/out/_next/static/chunks/60ec91dfeb50071b.js +0 -1
  546. package/dashboard/out/_next/static/chunks/61bc7be0bba6a33f.js +0 -1
  547. package/dashboard/out/_next/static/chunks/61f4a5c9ce23e55e.js +0 -1
  548. package/dashboard/out/_next/static/chunks/63aae3585be04e65.js +0 -1
  549. package/dashboard/out/_next/static/chunks/64e0e1ee7ef4f01b.js +0 -1
  550. package/dashboard/out/_next/static/chunks/66e9b4c26ff1aaaf.js +0 -1
  551. package/dashboard/out/_next/static/chunks/67068847aa1b5e98.js +0 -1
  552. package/dashboard/out/_next/static/chunks/68d7de1f2e202c26.js +0 -1
  553. package/dashboard/out/_next/static/chunks/698ca3ea1937ba4f.js +0 -1
  554. package/dashboard/out/_next/static/chunks/69eb97c24b5b6b9d.js +0 -1
  555. package/dashboard/out/_next/static/chunks/6b1ac098c228a479.js +0 -1
  556. package/dashboard/out/_next/static/chunks/6bb8020cb796bcc1.js +0 -1
  557. package/dashboard/out/_next/static/chunks/6cf8b1db17f2a155.js +0 -1
  558. package/dashboard/out/_next/static/chunks/6e7613643906ea88.js +0 -1
  559. package/dashboard/out/_next/static/chunks/6ea27ceb2e6feae5.js +0 -1
  560. package/dashboard/out/_next/static/chunks/6f95a8dbcf23dded.js +0 -1
  561. package/dashboard/out/_next/static/chunks/6fd44e759d82f64e.js +0 -1
  562. package/dashboard/out/_next/static/chunks/716ec29c268c38f6.js +0 -1
  563. package/dashboard/out/_next/static/chunks/717b399dfcf7c02c.js +0 -1
  564. package/dashboard/out/_next/static/chunks/72badd90e1c91348.js +0 -1
  565. package/dashboard/out/_next/static/chunks/72f9296dbb7ae3c4.js +0 -1
  566. package/dashboard/out/_next/static/chunks/73aa31e1144d8191.js +0 -1
  567. package/dashboard/out/_next/static/chunks/73f98ded8fe2e879.js +0 -1
  568. package/dashboard/out/_next/static/chunks/740a2e8ace15e13b.js +0 -1
  569. package/dashboard/out/_next/static/chunks/74e57c16e7304b6b.js +0 -1
  570. package/dashboard/out/_next/static/chunks/7628dead4d113df2.js +0 -1
  571. package/dashboard/out/_next/static/chunks/7717c88c07ed96e6.js +0 -1
  572. package/dashboard/out/_next/static/chunks/775581f7956d9a27.js +0 -1
  573. package/dashboard/out/_next/static/chunks/77d3b6661befdb98.js +0 -1
  574. package/dashboard/out/_next/static/chunks/78435c0e1c77fea7.js +0 -1
  575. package/dashboard/out/_next/static/chunks/791336748b9c9393.js +0 -1
  576. package/dashboard/out/_next/static/chunks/79ea68dfae65ef2f.js +0 -1
  577. package/dashboard/out/_next/static/chunks/7bae777a472eb13c.js +0 -1
  578. package/dashboard/out/_next/static/chunks/7fd847f47237a35c.js +0 -1
  579. package/dashboard/out/_next/static/chunks/804d718be0370058.css +0 -1
  580. package/dashboard/out/_next/static/chunks/807cb3c1923995ab.js +0 -1
  581. package/dashboard/out/_next/static/chunks/8286b39407d94447.js +0 -1
  582. package/dashboard/out/_next/static/chunks/84e4305b8dc830ed.js +0 -1
  583. package/dashboard/out/_next/static/chunks/850f99dbfabb53e0.js +0 -1
  584. package/dashboard/out/_next/static/chunks/85594127e66b6b7f.js +0 -1
  585. package/dashboard/out/_next/static/chunks/858c11169c183c9c.js +0 -1
  586. package/dashboard/out/_next/static/chunks/85e27005dfe4c3e3.js +0 -1
  587. package/dashboard/out/_next/static/chunks/8707bd3d8ddc1f1c.js +0 -1
  588. package/dashboard/out/_next/static/chunks/8851e5d7ef894973.js +0 -1
  589. package/dashboard/out/_next/static/chunks/88ba3782cc614989.js +0 -1
  590. package/dashboard/out/_next/static/chunks/8a0c9a181784c2ef.js +0 -1
  591. package/dashboard/out/_next/static/chunks/8ad01ae355a6e7f6.js +0 -1
  592. package/dashboard/out/_next/static/chunks/8d2ed93b0d0a4b4f.js +0 -1
  593. package/dashboard/out/_next/static/chunks/8dc352ebd5310d3c.js +0 -1
  594. package/dashboard/out/_next/static/chunks/8dd1d722c8c1a22c.js +0 -1
  595. package/dashboard/out/_next/static/chunks/8e60fe307e3e4986.js +0 -1
  596. package/dashboard/out/_next/static/chunks/8eea4dd71e25f32a.js +0 -1
  597. package/dashboard/out/_next/static/chunks/8f468a65bac34eaa.js +0 -1
  598. package/dashboard/out/_next/static/chunks/9057e5382d6a5059.js +0 -1
  599. package/dashboard/out/_next/static/chunks/931d056437805ecb.js +0 -1
  600. package/dashboard/out/_next/static/chunks/954eb11648dd8cff.js +0 -1
  601. package/dashboard/out/_next/static/chunks/955034d876d14bb3.js +0 -1
  602. package/dashboard/out/_next/static/chunks/966c4895773249f6.js +0 -1
  603. package/dashboard/out/_next/static/chunks/96aff410a6ab106c.js +0 -1
  604. package/dashboard/out/_next/static/chunks/99b396c821c1dd2d.js +0 -1
  605. package/dashboard/out/_next/static/chunks/9a255fd2cf4922ae.js +0 -1
  606. package/dashboard/out/_next/static/chunks/9b1f6aa73bc864b2.js +0 -1
  607. package/dashboard/out/_next/static/chunks/9b9ce582c533aa79.js +0 -1
  608. package/dashboard/out/_next/static/chunks/9c19bd3c773c6611.js +0 -1
  609. package/dashboard/out/_next/static/chunks/9ceeaa847eb15ca2.js +0 -1
  610. package/dashboard/out/_next/static/chunks/9d2e6e7b8b65f845.js +0 -1
  611. package/dashboard/out/_next/static/chunks/9de23802066128ff.js +0 -1
  612. package/dashboard/out/_next/static/chunks/9e327f94b3701170.js +0 -1
  613. package/dashboard/out/_next/static/chunks/9e7818421c2d455a.js +0 -1
  614. package/dashboard/out/_next/static/chunks/9e935acbcf2fb519.js +0 -1
  615. package/dashboard/out/_next/static/chunks/9ed9f68340343b51.js +0 -1
  616. package/dashboard/out/_next/static/chunks/9f94a0242455fc20.js +0 -1
  617. package/dashboard/out/_next/static/chunks/9fff46b5aaecf47e.js +0 -1
  618. package/dashboard/out/_next/static/chunks/a06d267a5c557657.js +0 -1
  619. package/dashboard/out/_next/static/chunks/a0eb8c81c54722fe.js +0 -1
  620. package/dashboard/out/_next/static/chunks/a16808e83106427d.js +0 -1
  621. package/dashboard/out/_next/static/chunks/a2215e2bc72739ef.js +0 -1
  622. package/dashboard/out/_next/static/chunks/a2de9e6696eb9c17.js +0 -1
  623. package/dashboard/out/_next/static/chunks/a33420b8c14090d6.js +0 -1
  624. package/dashboard/out/_next/static/chunks/a360bffef39d818b.js +0 -1
  625. package/dashboard/out/_next/static/chunks/a42852fdf5287cf5.js +0 -1
  626. package/dashboard/out/_next/static/chunks/a4efc88488322b67.js +0 -1
  627. package/dashboard/out/_next/static/chunks/a696a91d14101bdb.js +0 -1
  628. package/dashboard/out/_next/static/chunks/a6dad97d9634a72d.js +0 -1
  629. package/dashboard/out/_next/static/chunks/a6dad97d9634a72d.js.map +0 -1
  630. package/dashboard/out/_next/static/chunks/a705c7261712bd8e.js +0 -1
  631. package/dashboard/out/_next/static/chunks/a7d1e4b067ace180.js +0 -1
  632. package/dashboard/out/_next/static/chunks/a8590c121a7efaa5.js +0 -1
  633. package/dashboard/out/_next/static/chunks/a95953a83a6df6cf.js +0 -1
  634. package/dashboard/out/_next/static/chunks/a9d0a757d3b4afed.js +0 -1
  635. package/dashboard/out/_next/static/chunks/a9dc35514619c872.js +0 -1
  636. package/dashboard/out/_next/static/chunks/aae0253c73fba984.js +0 -193
  637. package/dashboard/out/_next/static/chunks/ab1821552066a74d.js +0 -1
  638. package/dashboard/out/_next/static/chunks/ac96bc0eccebe15a.js +0 -1
  639. package/dashboard/out/_next/static/chunks/acc03cfaaf6bb30f.js +0 -1
  640. package/dashboard/out/_next/static/chunks/acc298ae059b9fe4.js +0 -1
  641. package/dashboard/out/_next/static/chunks/ad076b6e996d250c.js +0 -1
  642. package/dashboard/out/_next/static/chunks/ae53b64af7ba16d5.js +0 -1
  643. package/dashboard/out/_next/static/chunks/ae5da7fa4bc5fa95.js +0 -1
  644. package/dashboard/out/_next/static/chunks/aefcf0eb033a155e.js +0 -1
  645. package/dashboard/out/_next/static/chunks/b12d43100ee10526.js +0 -1
  646. package/dashboard/out/_next/static/chunks/b137952dd5566a41.js +0 -1
  647. package/dashboard/out/_next/static/chunks/b2832d8a2d332a47.js +0 -1
  648. package/dashboard/out/_next/static/chunks/b417aa09c15f63c6.js +0 -1
  649. package/dashboard/out/_next/static/chunks/b48e152ba7bf6caf.js +0 -1
  650. package/dashboard/out/_next/static/chunks/b4cbef8e4714bf92.js +0 -1
  651. package/dashboard/out/_next/static/chunks/b568ff8383a37f53.js +0 -1
  652. package/dashboard/out/_next/static/chunks/b6e1495dd89a39e3.js +0 -1
  653. package/dashboard/out/_next/static/chunks/b73a21bd67528440.js +0 -1
  654. package/dashboard/out/_next/static/chunks/b77ee62bc71dcec7.js +0 -1
  655. package/dashboard/out/_next/static/chunks/b7f454615c11d4eb.js +0 -1
  656. package/dashboard/out/_next/static/chunks/b818ea32a839590f.js +0 -1
  657. package/dashboard/out/_next/static/chunks/b901ce78c1c65d66.js +0 -1
  658. package/dashboard/out/_next/static/chunks/b93d647b803be9fa.js +0 -1
  659. package/dashboard/out/_next/static/chunks/b960b09ff1ecd6bb.js +0 -1
  660. package/dashboard/out/_next/static/chunks/ba717c7779a778fc.js +0 -1
  661. package/dashboard/out/_next/static/chunks/bacb0ae7458d18b6.js +0 -1
  662. package/dashboard/out/_next/static/chunks/bb51f68b27346852.js +0 -1
  663. package/dashboard/out/_next/static/chunks/bb67f22e1ab632ae.js +0 -1
  664. package/dashboard/out/_next/static/chunks/bbae97ec58d1bb9d.js +0 -1
  665. package/dashboard/out/_next/static/chunks/bbaf38ee90307765.js +0 -1
  666. package/dashboard/out/_next/static/chunks/be01598fe1fce5db.js +0 -1
  667. package/dashboard/out/_next/static/chunks/bf4cbbc095987fec.js +0 -1
  668. package/dashboard/out/_next/static/chunks/c18f823797d57446.js +0 -1
  669. package/dashboard/out/_next/static/chunks/c1bcece34ec5b295.js +0 -1
  670. package/dashboard/out/_next/static/chunks/c1ccbc3a51adaf0a.js +0 -1
  671. package/dashboard/out/_next/static/chunks/c1f54a628f27791c.js +0 -1
  672. package/dashboard/out/_next/static/chunks/c21916bf5d232151.js +0 -1
  673. package/dashboard/out/_next/static/chunks/c27e570f0fc2f78b.js +0 -1
  674. package/dashboard/out/_next/static/chunks/c322b8005eebc0d8.js +0 -1
  675. package/dashboard/out/_next/static/chunks/c3900ac2b009b764.js +0 -1
  676. package/dashboard/out/_next/static/chunks/c3c597c8eb77ad6b.js +0 -1
  677. package/dashboard/out/_next/static/chunks/c58d45c1d88e208c.js +0 -1
  678. package/dashboard/out/_next/static/chunks/c63875998d7a655f.js +0 -1
  679. package/dashboard/out/_next/static/chunks/c6eaa7c8e7209c8e.js +0 -1
  680. package/dashboard/out/_next/static/chunks/c6f820f71162a59a.js +0 -1
  681. package/dashboard/out/_next/static/chunks/c7ce0941d1dfe7ed.js +0 -1
  682. package/dashboard/out/_next/static/chunks/c877259f784ec8e5.js +0 -1
  683. package/dashboard/out/_next/static/chunks/cb8057e86aaa1c68.js +0 -1
  684. package/dashboard/out/_next/static/chunks/ccb4e306ee4859b1.js +0 -1
  685. package/dashboard/out/_next/static/chunks/ccde62b0fa8112eb.js +0 -1
  686. package/dashboard/out/_next/static/chunks/cd421f0971c63c31.js +0 -1
  687. package/dashboard/out/_next/static/chunks/cde0317494d4adb7.js +0 -1
  688. package/dashboard/out/_next/static/chunks/cfae64434b92b8b6.js +0 -1
  689. package/dashboard/out/_next/static/chunks/cfc0e19310ec0a36.js +0 -1
  690. package/dashboard/out/_next/static/chunks/d0f344c7d0bcb59a.js +0 -1
  691. package/dashboard/out/_next/static/chunks/d1871c73e74e1f50.js +0 -1
  692. package/dashboard/out/_next/static/chunks/d18f658850711061.js +0 -1
  693. package/dashboard/out/_next/static/chunks/d25d9c48880697f6.js +0 -1
  694. package/dashboard/out/_next/static/chunks/d3f0a72bbc3060b0.js +0 -1
  695. package/dashboard/out/_next/static/chunks/d5fca429bc89060b.js +0 -1
  696. package/dashboard/out/_next/static/chunks/d6a6c75c9a4bef49.js +0 -1
  697. package/dashboard/out/_next/static/chunks/d6a8f93aa8f1e345.js +0 -1
  698. package/dashboard/out/_next/static/chunks/d7deab676b19ba0e.js +0 -1
  699. package/dashboard/out/_next/static/chunks/d80030dde88cec85.js +0 -1
  700. package/dashboard/out/_next/static/chunks/da84f9774c076ff1.js +0 -1
  701. package/dashboard/out/_next/static/chunks/da98ecc6b9b0ceb2.js +0 -1
  702. package/dashboard/out/_next/static/chunks/db550aabce60b912.js +0 -4
  703. package/dashboard/out/_next/static/chunks/dc87f77fcc029482.js +0 -1
  704. package/dashboard/out/_next/static/chunks/dd05f30acdb63a53.js +0 -1
  705. package/dashboard/out/_next/static/chunks/dea150155499b903.js +0 -1
  706. package/dashboard/out/_next/static/chunks/df4358754ff1d5e8.js +0 -1
  707. package/dashboard/out/_next/static/chunks/df8b21ff12d23b0e.js +0 -1
  708. package/dashboard/out/_next/static/chunks/df8fc68d77debf2c.js +0 -1
  709. package/dashboard/out/_next/static/chunks/df9ed1ffec90589f.js +0 -1
  710. package/dashboard/out/_next/static/chunks/dfa65ece1598f934.js +0 -1
  711. package/dashboard/out/_next/static/chunks/dfaab5cdd41a20d9.js +0 -1
  712. package/dashboard/out/_next/static/chunks/e00c03c942b5ae3e.js +0 -1
  713. package/dashboard/out/_next/static/chunks/e02d27cf679bece1.js +0 -1
  714. package/dashboard/out/_next/static/chunks/e0b747585f78513a.js +0 -1
  715. package/dashboard/out/_next/static/chunks/e19b71ca23fd7df0.js +0 -1
  716. package/dashboard/out/_next/static/chunks/e21cbe89d0cda120.js +0 -1
  717. package/dashboard/out/_next/static/chunks/e2a0386930edd34f.js +0 -1
  718. package/dashboard/out/_next/static/chunks/e375de19a36e2f38.js +0 -1
  719. package/dashboard/out/_next/static/chunks/e5241b4a6496a9e0.js +0 -1
  720. package/dashboard/out/_next/static/chunks/e569dd07c96eb4dd.js +0 -1
  721. package/dashboard/out/_next/static/chunks/e61c3ea91233f948.js +0 -1
  722. package/dashboard/out/_next/static/chunks/e73b42c5d34c4c28.js +0 -1
  723. package/dashboard/out/_next/static/chunks/e7c5b2105f651e87.js +0 -1
  724. package/dashboard/out/_next/static/chunks/e878e58a69bb01b6.js +0 -1
  725. package/dashboard/out/_next/static/chunks/e8f090a4dc571062.js +0 -1
  726. package/dashboard/out/_next/static/chunks/e98dc34dac91cdad.js +0 -1
  727. package/dashboard/out/_next/static/chunks/ea67cf7a0c5e7233.js +0 -1
  728. package/dashboard/out/_next/static/chunks/eacc98a1e3512fa9.js +0 -1
  729. package/dashboard/out/_next/static/chunks/eae9cd74d9bbed8b.js +0 -1
  730. package/dashboard/out/_next/static/chunks/eb187fd345852b34.js +0 -1
  731. package/dashboard/out/_next/static/chunks/ecea46df7a40b427.js +0 -1
  732. package/dashboard/out/_next/static/chunks/ecf48b83f4245d9c.js +0 -1
  733. package/dashboard/out/_next/static/chunks/eda41732bf966c6d.js +0 -1
  734. package/dashboard/out/_next/static/chunks/ee174a433049f43a.js +0 -1
  735. package/dashboard/out/_next/static/chunks/ee66b2d3b76de72e.js +0 -1
  736. package/dashboard/out/_next/static/chunks/ef058d3041c3d8ab.js +0 -1
  737. package/dashboard/out/_next/static/chunks/f3544b800b0d4969.js +0 -1
  738. package/dashboard/out/_next/static/chunks/f3b280e604b97509.js +0 -1
  739. package/dashboard/out/_next/static/chunks/f42e1d3693232993.js +0 -1
  740. package/dashboard/out/_next/static/chunks/f5a5fdd80166d304.js +0 -1
  741. package/dashboard/out/_next/static/chunks/f60adc5dd6169316.js +0 -1
  742. package/dashboard/out/_next/static/chunks/f6255bc2e6c68ce8.js +0 -1
  743. package/dashboard/out/_next/static/chunks/f6bb677d2d8840db.js +0 -1
  744. package/dashboard/out/_next/static/chunks/f6f3bf016239c33a.js +0 -1
  745. package/dashboard/out/_next/static/chunks/f6f57a46cd074bfe.js +0 -1
  746. package/dashboard/out/_next/static/chunks/f7feb9c1199e8cf6.js +0 -1
  747. package/dashboard/out/_next/static/chunks/f831087bf964cc3d.js +0 -1
  748. package/dashboard/out/_next/static/chunks/fa5a2f7244935aa2.js +0 -1
  749. package/dashboard/out/_next/static/chunks/fa73f36df4c38fa0.js +0 -1
  750. package/dashboard/out/_next/static/chunks/faa1461722d6a88d.js +0 -1
  751. package/dashboard/out/_next/static/chunks/fbf706b9a0edb7e6.js +0 -1
  752. package/dashboard/out/_next/static/chunks/fc2b8c8b7446bbc2.js +0 -1
  753. package/dashboard/out/_next/static/chunks/fd516f3930c128c1.js +0 -1
  754. package/dashboard/out/_next/static/chunks/fd663e7ff8de4887.js +0 -1
  755. package/dashboard/out/_next/static/chunks/fe5b656cc9bdd60e.js +0 -1
  756. package/dashboard/out/_next/static/chunks/turbopack-2f5dec4a537c0ee7.js +0 -4
  757. package/dashboard/out/_next/static/media/02263ebadd758ea4-s.8da66e7f.woff2 +0 -0
  758. package/dashboard/out/_next/static/media/2fe89d53234c61d4-s.cb53f04b.woff2 +0 -0
  759. package/dashboard/out/_next/static/media/59b15b4bcd7b1eb5-s.afa48be3.woff2 +0 -0
  760. package/dashboard/out/_next/static/media/5e05ae5b48faa55e-s.6b5ea6af.woff2 +0 -0
  761. package/dashboard/out/_next/static/media/68757d6cddeff913-s.e6cd1753.woff2 +0 -0
  762. package/dashboard/out/_next/static/media/99e609270109b47d-s.p.64b9304e.woff2 +0 -0
  763. package/dashboard/out/_next/static/media/a7afbb44bec2bb18-s.1dcddae6.woff2 +0 -0
  764. package/dashboard/out/_next/static/media/e390973e931a41c5-s.a82ecf4e.woff2 +0 -0
  765. package/dashboard/out/_next/static/media/e532fa1b9921e1cd-s.764b43eb.woff2 +0 -0
  766. package/dashboard/out/_next/static/media/effe91970fc4db64-s.p.19510058.woff2 +0 -0
  767. package/dashboard/out/_not-found/__next._full.txt +0 -15
  768. package/dashboard/out/_not-found/__next._head.txt +0 -5
  769. package/dashboard/out/_not-found/__next._index.txt +0 -7
  770. package/dashboard/out/_not-found/__next._not-found.__PAGE__.txt +0 -5
  771. package/dashboard/out/_not-found/__next._not-found.txt +0 -4
  772. package/dashboard/out/_not-found/__next._tree.txt +0 -2
  773. package/dashboard/out/_not-found/index.html +0 -1
  774. package/dashboard/out/_not-found/index.txt +0 -15
  775. package/dashboard/out/index.html +0 -1
  776. package/dashboard/out/index.txt +0 -21
  777. package/dashboard/out/project/__fallback/__next._full.txt +0 -19
  778. package/dashboard/out/project/__fallback/__next._head.txt +0 -5
  779. package/dashboard/out/project/__fallback/__next._index.txt +0 -7
  780. package/dashboard/out/project/__fallback/__next._tree.txt +0 -5
  781. package/dashboard/out/project/__fallback/__next.project.$d$name.__PAGE__.txt +0 -7
  782. package/dashboard/out/project/__fallback/__next.project.$d$name.txt +0 -4
  783. package/dashboard/out/project/__fallback/__next.project.txt +0 -4
  784. package/dashboard/out/project/__fallback/index.html +0 -1
  785. package/dashboard/out/project/__fallback/index.txt +0 -19
  786. package/src/__tests__/support.ts +0 -186
  787. package/src/attach.ts +0 -20
  788. package/src/cli.test.ts +0 -314
  789. package/src/command-center/discovery.test.ts +0 -265
  790. package/src/command-center/discovery.ts +0 -296
  791. package/src/command-center/schemas.ts +0 -57
  792. package/src/command-center/server.test.ts +0 -814
  793. package/src/command-center/server.ts +0 -1427
  794. package/src/command-center/static.test.ts +0 -105
  795. package/src/command-center/static.ts +0 -122
  796. package/src/config-cli.test.ts +0 -86
  797. package/src/config.test.ts +0 -205
  798. package/src/config.ts +0 -313
  799. package/src/detect.test.ts +0 -142
  800. package/src/dispatch.ts +0 -102
  801. package/src/doctor.test.ts +0 -119
  802. package/src/doctor.ts +0 -167
  803. package/src/init.test.ts +0 -101
  804. package/src/init.ts +0 -211
  805. package/src/inspect.test.ts +0 -67
  806. package/src/inspect.ts +0 -212
  807. package/src/integration.test.ts.skip +0 -276
  808. package/src/launch.test.ts +0 -149
  809. package/src/launch.ts +0 -583
  810. package/src/lib/auth/auth-service.test.ts +0 -178
  811. package/src/lib/auth/middleware.test.ts +0 -119
  812. package/src/lib/authorship.test.ts +0 -242
  813. package/src/lib/cast/recorder.test.ts +0 -127
  814. package/src/lib/cast/recorder.ts +0 -148
  815. package/src/lib/daemon-watchdog.ts +0 -102
  816. package/src/lib/daemon.ts +0 -440
  817. package/src/lib/dot-path.test.ts +0 -66
  818. package/src/lib/errors.ts +0 -44
  819. package/src/lib/event-log.test.ts +0 -189
  820. package/src/lib/event-log.ts +0 -237
  821. package/src/lib/github-pr.ts +0 -182
  822. package/src/lib/hq/client.test.ts +0 -154
  823. package/src/lib/hq/client.ts +0 -142
  824. package/src/lib/hq/mdns.test.ts +0 -54
  825. package/src/lib/hq/mdns.ts +0 -88
  826. package/src/lib/hq/registry.test.ts +0 -237
  827. package/src/lib/hq/registry.ts +0 -145
  828. package/src/lib/hq/types.ts +0 -44
  829. package/src/lib/ipc/socket-protocol.test.ts +0 -126
  830. package/src/lib/ipc/socket-protocol.ts +0 -324
  831. package/src/lib/launch-plan.test.ts +0 -119
  832. package/src/lib/log.test.ts +0 -39
  833. package/src/lib/log.ts +0 -71
  834. package/src/lib/metrics.test.ts +0 -213
  835. package/src/lib/metrics.ts +0 -345
  836. package/src/lib/orchestrator.test.ts +0 -2358
  837. package/src/lib/orchestrator.ts +0 -1799
  838. package/src/lib/output.ts +0 -76
  839. package/src/lib/plan-store.test.ts +0 -148
  840. package/src/lib/plan-store.ts +0 -131
  841. package/src/lib/research.test.ts +0 -208
  842. package/src/lib/research.ts +0 -475
  843. package/src/lib/round-trip.test.ts +0 -341
  844. package/src/lib/session-monitor.test.ts +0 -152
  845. package/src/lib/session-monitor.ts +0 -284
  846. package/src/lib/session-options.test.ts +0 -146
  847. package/src/lib/shell.test.ts +0 -20
  848. package/src/lib/sizes.test.ts +0 -73
  849. package/src/lib/skill-registry.test.ts +0 -134
  850. package/src/lib/skill-registry.ts +0 -86
  851. package/src/lib/slugify.test.ts +0 -35
  852. package/src/lib/task-store.ts +0 -352
  853. package/src/lib/tmux.test.ts +0 -500
  854. package/src/lib/tmux.ts +0 -372
  855. package/src/lib/token-tracker.test.ts +0 -102
  856. package/src/lib/token-tracker.ts +0 -70
  857. package/src/lib/tunnels/cloudflare.test.ts +0 -73
  858. package/src/lib/tunnels/cloudflare.ts +0 -254
  859. package/src/lib/tunnels/manager.test.ts +0 -63
  860. package/src/lib/tunnels/manager.ts +0 -132
  861. package/src/lib/tunnels/ngrok.test.ts +0 -94
  862. package/src/lib/tunnels/ngrok.ts +0 -261
  863. package/src/lib/tunnels/tailscale.test.ts +0 -103
  864. package/src/lib/tunnels/tailscale.ts +0 -1048
  865. package/src/lib/tunnels/types.ts +0 -44
  866. package/src/lib/validation.test.ts +0 -289
  867. package/src/lib/validation.ts +0 -123
  868. package/src/lib/webhook.ts +0 -51
  869. package/src/lib/workflow-store.ts +0 -209
  870. package/src/lib/ws-v3/protocol.test.ts +0 -127
  871. package/src/lib/ws-v3/protocol.ts +0 -160
  872. package/src/lib/yaml-io.test.ts +0 -125
  873. package/src/ls.test.ts +0 -76
  874. package/src/metrics-cli.ts +0 -177
  875. package/src/notify.ts +0 -85
  876. package/src/orchestrator-status.ts +0 -228
  877. package/src/plan.ts +0 -117
  878. package/src/postinstall.test.ts +0 -79
  879. package/src/remote.test.ts +0 -115
  880. package/src/remote.ts +0 -148
  881. package/src/restart.ts +0 -24
  882. package/src/schemas/domain.ts +0 -422
  883. package/src/schemas/ide-config.ts +0 -148
  884. package/src/schemas/index.ts +0 -53
  885. package/src/send.test.ts +0 -70
  886. package/src/send.ts +0 -181
  887. package/src/skill.test.ts +0 -114
  888. package/src/skill.ts +0 -138
  889. package/src/status.ts +0 -66
  890. package/src/stop.test.ts +0 -151
  891. package/src/stop.ts +0 -37
  892. package/src/task.test.ts +0 -1466
  893. package/src/task.ts +0 -1143
  894. package/src/tunnel.test.ts +0 -80
  895. package/src/tunnel.ts +0 -133
  896. package/src/types.ts +0 -15
  897. package/src/ui/web/utils/color.test.ts +0 -93
  898. package/src/validate.test.ts +0 -385
  899. package/src/widgets/changes/index.tsx +0 -576
  900. package/src/widgets/config/index.tsx +0 -440
  901. package/src/widgets/costs/index.tsx +0 -216
  902. package/src/widgets/explorer/index.tsx +0 -408
  903. package/src/widgets/explorer/tree-model.test.ts +0 -214
  904. package/src/widgets/explorer/tree.tsx +0 -156
  905. package/src/widgets/lib/files.test.ts +0 -103
  906. package/src/widgets/lib/git.test.ts +0 -151
  907. package/src/widgets/lib/pane-comms.test.ts +0 -178
  908. package/src/widgets/lib/pane-comms.ts +0 -207
  909. package/src/widgets/lib/theme.ts +0 -151
  910. package/src/widgets/lib/watcher.ts +0 -50
  911. package/src/widgets/mission-control/activity-feed.tsx +0 -59
  912. package/src/widgets/mission-control/agent-panel.tsx +0 -132
  913. package/src/widgets/mission-control/command-bar.tsx +0 -63
  914. package/src/widgets/mission-control/index.tsx +0 -751
  915. package/src/widgets/mission-control/task-panel.tsx +0 -238
  916. package/src/widgets/preview/index.tsx +0 -415
  917. package/src/widgets/resolve.ts +0 -40
  918. package/src/widgets/setup/config-tree.tsx +0 -238
  919. package/src/widgets/setup/index.tsx +0 -340
  920. package/src/widgets/setup/setup-model.test.ts +0 -303
  921. package/src/widgets/tasks/index.tsx +0 -129
  922. package/src/widgets/tasks/task-detail.tsx +0 -309
  923. package/src/widgets/tasks/task-form.tsx +0 -193
  924. package/src/widgets/tasks/task-list.tsx +0 -205
  925. package/src/widgets/tasks/task-model.test.ts +0 -473
  926. package/src/widgets/tasks/task-model.ts +0 -157
  927. /package/{src/lib/auth/types.ts → packages/contracts/src/lib-internal/auth.ts} +0 -0
  928. /package/{src → packages/daemon/src}/command-center/index.ts +0 -0
  929. /package/{src → packages/daemon/src}/detect.ts +0 -0
  930. /package/{src → packages/daemon/src}/js-yaml.d.ts +0 -0
  931. /package/{src → packages/daemon/src}/lib/auth/auth-service.ts +0 -0
  932. /package/{src → packages/daemon/src}/lib/auth/middleware.ts +0 -0
  933. /package/{src → packages/daemon/src}/lib/authorship.ts +0 -0
  934. /package/{src → packages/daemon/src}/lib/dot-path.ts +0 -0
  935. /package/{src → packages/daemon/src}/lib/launch-plan.ts +0 -0
  936. /package/{src → packages/daemon/src}/lib/session-options.ts +0 -0
  937. /package/{src → packages/daemon/src}/lib/shell.ts +0 -0
  938. /package/{src → packages/daemon/src}/lib/sizes.ts +0 -0
  939. /package/{src → packages/daemon/src}/lib/slugify.ts +0 -0
  940. /package/{src → packages/daemon/src}/lib/yaml-io.ts +0 -0
  941. /package/{src → packages/daemon/src}/ls.ts +0 -0
  942. /package/{src → packages/daemon/src}/ui/index.ts +0 -0
  943. /package/{src → packages/daemon/src}/ui/terminal/index.ts +0 -0
  944. /package/{src → packages/daemon/src}/ui/types.ts +0 -0
  945. /package/{src → packages/daemon/src}/ui/web/base.css +0 -0
  946. /package/{src → packages/daemon/src}/ui/web/components/Box.tsx +0 -0
  947. /package/{src → packages/daemon/src}/ui/web/components/Input.tsx +0 -0
  948. /package/{src → packages/daemon/src}/ui/web/components/ScrollBox.tsx +0 -0
  949. /package/{src → packages/daemon/src}/ui/web/components/Text.tsx +0 -0
  950. /package/{src → packages/daemon/src}/ui/web/hooks.ts +0 -0
  951. /package/{src → packages/daemon/src}/ui/web/index.ts +0 -0
  952. /package/{src → packages/daemon/src}/ui/web/render.ts +0 -0
  953. /package/{src → packages/daemon/src}/ui/web/utils/color.ts +0 -0
  954. /package/{src → packages/daemon/src}/validate.ts +0 -0
  955. /package/{src → packages/daemon/src}/widgets/explorer/breadcrumbs.tsx +0 -0
  956. /package/{src → packages/daemon/src}/widgets/explorer/footer.tsx +0 -0
  957. /package/{src → packages/daemon/src}/widgets/explorer/header.tsx +0 -0
  958. /package/{src → packages/daemon/src}/widgets/explorer/tree-model.ts +0 -0
  959. /package/{src → packages/daemon/src}/widgets/lib/config-model.ts +0 -0
  960. /package/{src → packages/daemon/src}/widgets/lib/files.ts +0 -0
  961. /package/{src → packages/daemon/src}/widgets/lib/git.ts +0 -0
  962. /package/{src → packages/daemon/src}/widgets/setup/agent-naming.tsx +0 -0
  963. /package/{src → packages/daemon/src}/widgets/setup/detect-panel.tsx +0 -0
  964. /package/{src → packages/daemon/src}/widgets/setup/field-editor.tsx +0 -0
  965. /package/{src → packages/daemon/src}/widgets/setup/footer.tsx +0 -0
  966. /package/{src → packages/daemon/src}/widgets/setup/layout-picker.tsx +0 -0
  967. /package/{src → packages/daemon/src}/widgets/setup/orchestrator-panel.tsx +0 -0
  968. /package/{src → packages/daemon/src}/widgets/setup/review-panel.tsx +0 -0
  969. /package/{src → packages/daemon/src}/widgets/setup/setup-model.ts +0 -0
package/skill/SKILL.md CHANGED
@@ -1,289 +1,256 @@
1
1
  # tmux-ide — Claude Code Skill
2
2
 
3
- tmux-ide turns any project into a tmux-powered terminal IDE using a simple `ide.yml` config file.
3
+ <!-- tmux-ide-skill-version: 2.6.0 -->
4
4
 
5
- ## When to use
6
-
7
- - User mentions multi-pane, tmux, terminal IDE, or dev environment
8
- - User wants to set up a development workspace
9
- - User asks about running multiple terminals/tools side-by-side
10
- - User wants to coordinate multiple Claude Code instances as a team
11
- - User mentions agent teams, team lead, or multi-agent workflows
12
-
13
- ## Setup workflow
14
-
15
- 1. Check if `ide.yml` exists: `tmux-ide status --json`
16
- 2. Auto-detect the project: `tmux-ide detect --json`
17
- 3. **Present 2-3 layout options using ASCII diagrams** before writing config. Example:
18
-
19
- **Option A — Dual Claude + Dev (recommended)**
20
-
21
- ```
22
- ┌─────────────────┬─────────────────┐
23
- │ │ │
24
- │ Claude 1 │ Claude 2 │ 70%
25
- │ │ │
26
- ├────────┬────────┴────────┬────────┤
27
- │Dev Srv │ Tests │ Shell │ │ 30%
28
- └────────┴─────────┴───────┘────────┘
29
- ```
30
-
31
- **Option B — Triple Claude**
32
-
33
- ```
34
- ┌───────────┬───────────┬───────────┐
35
- │ │ │ │
36
- │ Claude 1 │ Claude 2 │ Claude 3 │ 70%
37
- │ │ │ │
38
- ├───────────┴─────┬─────┴───────────┤
39
- │ Dev Server │ Shell │ 30%
40
- └─────────────────┴─────────────────┘
41
- ```
42
-
43
- **Option C — Single Claude + wide dev**
44
-
45
- ```
46
- ┌─────────────────────────────────────┐
47
- │ Claude │ 60%
48
- ├──────────┬──────────┬──────────────┤
49
- │ Dev Srv │ Tests │ Shell │ 40%
50
- └──────────┴──────────┴──────────────┘
51
- ```
52
-
53
- Adapt pane names/commands to the detected stack.
54
-
55
- 4. Once the user picks, write the config:
56
- - Quick: `tmux-ide detect --write` then modify
57
- - Or build custom with `tmux-ide config` subcommands
5
+ tmux-ide is a **dock around tmux**: one command adds a native chrome to any tmux
6
+ session — a fleet of tabs with live agent-status glyphs, ground-truth
7
+ working/blocked/done detection, notifications when an agent needs a human, and a
8
+ crash-proof restore. It's built _around_ tmux (adopt is additive tmux config, no
9
+ wrapper process), and the whole UI is one keystroke away — one interaction
10
+ grammar, one theme file. `ide.yml` is optional; adopt works on any session.
58
11
 
59
- ## Agent Teams workflow
60
-
61
- Agent teams coordinate multiple Claude Code instances where a lead delegates tasks to teammates. Each gets its own tmux pane, and tmux-ide prepares that layout before Claude starts the actual team workflow.
62
-
63
- ### When to suggest agent teams
64
-
65
- - User wants coordinated multi-agent development
66
- - User mentions team lead, teammates, or task delegation
67
- - User wants parallel work with inter-agent communication
68
- - User's task benefits from specialized roles (e.g., frontend + backend + review)
69
-
70
- ### Prerequisites
71
-
72
- Agent teams require `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`. The tmux-ide install hook enables this in Claude Code settings, and tmux-ide also sets it automatically inside tmux sessions when `team` is configured in `ide.yml`.
73
-
74
- ### Setup from scratch
75
-
76
- 1. **Scaffold with agent team template:**
77
-
78
- ```bash
79
- tmux-ide init --template agent-team
80
- ```
81
-
82
- 2. **Or enable teams on an existing config:**
83
-
84
- ```bash
85
- tmux-ide config enable-team --name "my-team"
86
- ```
87
-
88
- This finds all `command: claude` panes and assigns the first as `lead`, the rest as `teammate`.
89
-
90
- 3. **Assign initial task hints to teammate panes:**
91
-
92
- ```bash
93
- tmux-ide config set rows.0.panes.1.task "Work on frontend components"
94
- tmux-ide config set rows.0.panes.2.task "Work on API routes"
95
- ```
96
-
97
- 4. **Validate and launch the layout:**
98
-
99
- ```bash
100
- tmux-ide validate --json
101
- tmux-ide
102
- ```
12
+ ## When to use
103
13
 
104
- 5. **Inside the lead pane, ask Claude to form the team:**
14
+ - User mentions tmux, a dock/status bar over sessions, an agent fleet, or session status
15
+ - User wants live working/blocked/done status across multiple agents or panes
16
+ - **You are an agent and want to report your own status** so the dock/fleet reflects it (the agent contract, below)
17
+ - Post-crash recovery — a tmux server died and the user wants their fleet + Claude conversations back
18
+ - User wants a git worktree (plus an adopted session) per branch
19
+ - User wants to set up a multi-pane dev workspace with `ide.yml`
105
20
 
106
- ```text
107
- Start an agent team named my-team. Use the Frontend pane for components and the Backend pane for API routes.
108
- ```
21
+ ## The agent contract
109
22
 
110
- ### Present team layout options
23
+ **This is the core of tmux-ide.** Detection is two-layer, and an agent that
24
+ reports its own state is the authoritative layer — the dock trusts it over any
25
+ screen-scraping. If you are an agent running in a tmux pane, self-report by
26
+ setting a pane-local tmux option:
111
27
 
112
- When suggesting agent team layouts, show the roles and note that Claude will create the team after launch:
28
+ ```bash
29
+ tmux set-option -p @agent_state "<state>:$(date +%s)" # state = working | blocked | done | idle
30
+ ```
113
31
 
114
- **Option A — Lead + 2 Teammates**
32
+ The value is `<state>:<unix-epoch>`. A `working`/`blocked` report older than ~10
33
+ minutes is treated as stale (the detector falls back to Layer 2), so long-running
34
+ agents should re-stamp periodically. Two optional companions:
115
35
 
116
- ```
117
- ┌───────────┬───────────┬───────────┐
118
- │ │ │ │
119
- │ Lead │Teammate 1 │Teammate 2 │ 70%
120
- │ (claude) │ (claude) │ (claude) │
121
- ├───────────┴─────┬─────┴───────────┤
122
- │ Dev Server │ Shell │ 30%
123
- └─────────────────┴─────────────────┘
36
+ ```bash
37
+ tmux set-option -p @agent_session_id "<id>" # your Claude session id — powers restore --resume-agents
38
+ tmux set-option -p @agent_hint claude # force which agent manifest Layer 2 uses for this pane
124
39
  ```
125
40
 
126
- **Option B — Lead + 3 Specialized Teammates**
41
+ **Claude Code users get this for free** — `tmux-ide integration install claude`
42
+ writes a POSIX hook into `~/.claude/settings.json` that stamps `@agent_state` on
43
+ every lifecycle event (UserPromptSubmit/PreToolUse → working, Notification →
44
+ blocked, Stop → done, SessionEnd → idle) and records `@agent_session_id`. It
45
+ takes effect for **new** Claude Code sessions; the merge is reversible
46
+ (`integration uninstall claude`).
127
47
 
128
- ```
129
- ┌────────┬────────┬────────┬────────┐
130
- │ │Frontend│Backend │ Review │
131
- │ Lead │ Agent │ Agent │ Agent │ 70%
132
- │ │ │ │ │
133
- ├────────┴────────┴──┬─────┴────────┤
134
- │ Dev Server │ Shell │ 30%
135
- └────────────────────┴──────────────┘
136
- ```
48
+ **How detection layers work:** Layer 1 is the authority above — a fresh
49
+ `@agent_state` option is ground truth. When none is present, Layer 2 resolves the
50
+ agent from the pane's process tree and reads the visible screen against
51
+ evidence-tuned per-agent manifests to infer working/blocked/done. Run
52
+ `tmux-ide agent explain <pane>` to see exactly which layer fired for a pane and why.
137
53
 
138
- ### Team lead self-configuration
54
+ ### Coordinating with other agents
139
55
 
140
- When running as the team lead inside a tmux-ide session, you can reconfigure the layout for the team:
56
+ The status bus is shared, so you can work as part of a team — and the teammates
57
+ don't have to be Claude Code. As an agent, you can:
141
58
 
142
59
  ```bash
143
- # Read current config
144
- tmux-ide config --json
145
-
146
- # Add a new teammate pane
147
- tmux-ide config add-pane --row 0 --title "Reviewer" --command "claude"
148
- tmux-ide config set rows.0.panes.3.role teammate
149
- tmux-ide config set rows.0.panes.3.task "Review all PRs and check for issues"
60
+ tmux-ide team --json # fleet rollup: each session's + window's agent status
61
+ tmux-ide agent explain %2 --json # one specific pane's status + why (per-pane read)
62
+ tmux-ide send %2 "do X, then run tests" # task another pane's agent (by %id, title, role, or @ide_name)
63
+ tmux-ide wait output %2 --match "done" # block until that pane prints something (exit 0 match / 1 timeout)
64
+ tmux-ide wait agent-status api --status done # block until a whole session finishes
65
+ tmux-ide events --follow # subscribe to the live session-status transition stream
66
+ ```
150
67
 
151
- # Or remove a teammate
152
- tmux-ide config remove-pane --row 0 --pane 2
68
+ `send` types straight into the target agent's prompt (use `--no-enter` to stage
69
+ text; pipe stdin for long input — messages over ~150 chars auto-route through a
70
+ `.tasks/dispatch/` file). Report your own status with the `@agent_state` contract
71
+ above so teammates coordinating on you see the truth. This works across
72
+ Claude Code, codex, cursor-agent, aider, or any CLI agent in a pane.
153
73
 
154
- # Validate and restart to apply
155
- tmux-ide validate --json
156
- tmux-ide restart
157
- ```
74
+ ## Fleet control from the CLI
158
75
 
159
- ### Disable teams
76
+ Every command takes `--json` for structured output.
160
77
 
161
78
  ```bash
162
- tmux-ide config disable-team
163
- ```
79
+ tmux-ide team --json # whole-fleet state: sessions, panes, agent statuses
80
+ tmux-ide events --follow # stream agent-status transitions (needs an adopted session)
81
+ tmux-ide events --json # recent transitions as JSON
164
82
 
165
- Removes the `team` config and all `role`/`task` fields from panes.
83
+ tmux-ide wait agent-status <session> --status blocked --timeout 60000 # block until a session hits a status
84
+ tmux-ide wait output <pane|session> --match "<regex>" --timeout 60000 # block until a pane's output matches
166
85
 
167
- ## Session features (v1.2.0)
86
+ tmux-ide send <target> "<message>" # send text to a pane (by name/title/role/ID); --to <name>, --no-enter
87
+ tmux-ide agent explain <pane> --json # debug how a pane's agent state was detected
168
88
 
169
- tmux-ide sessions include these built-in features:
89
+ tmux-ide adopt <session> # add the dock to an existing session (additive tmux config)
90
+ tmux-ide adopt --all # adopt every live session
91
+ tmux-ide unadopt <session> # remove the dock — sessions keep running as plain tmux
170
92
 
171
- ### Mouse support
93
+ tmux-ide restore --dry-run --json # preview rebuilding the fleet from the last snapshot
94
+ tmux-ide restore --resume-agents # rebuild after a tmux crash; revive Claude convos via claude --resume
172
95
 
173
- Mouse is enabled by default. Users can click to focus panes, scroll with trackpad, and drag pane borders to resize.
96
+ tmux-ide worktree create <branch> --from <ref> # git worktree on a new branch + a session in it
97
+ tmux-ide worktree open <branch> # open/switch to an existing worktree's session
98
+ tmux-ide worktree list --json # worktrees joined with their session status
99
+ tmux-ide worktree remove <branch> --force # kill the session + remove the worktree
174
100
 
175
- ### Two-line status bar
176
-
177
- ```
178
- Line 0: MY-PROJECT IDE ● 14:30 │ Mar 17
179
- Line 1: ⏺ Claude 1 │ ● Claude 2 │ ⏺ Dev Server │ Shell
101
+ tmux-ide update --dry-run # detect install method (dev checkout vs npm/pnpm/bun) and show/run the update
102
+ tmux-ide doctor # system + integration health (tmux version, TUI surfaces, skill freshness)
180
103
  ```
181
104
 
182
- - Line 0: session name, window indicators, time/date
183
- - Line 1: clickable pane tabs (click to switch panes)
184
- - Green `⏺` next to panes with a running dev server (listening TCP port)
185
- - Pulsing `⏺` next to panes where Claude/Codex is actively working
186
- - Dim `●` next to panes where Claude/Codex is idle
105
+ ## Keys & surfaces to tell USERS about
187
106
 
188
- ### Config drift detection
107
+ Once a session is adopted, the whole UI is a keystroke away. **Lead with the
108
+ prefix** — an agent pane can temporarily change key encoding and swallow a
109
+ root-table `Alt` bind, but the tmux prefix always reaches tmux. Every surface has
110
+ a prefix twin and an `⌥` fast-path (single keystroke when the terminal allows it).
111
+ Right-click any pane or the bar opens the actions menu at the pointer.
189
112
 
190
- If `ide.yml` is edited while a session is running, `tmux-ide` warns the user and suggests `tmux-ide restart` to apply changes.
113
+ | Surface | Prefix (always works) | ⌥ fast-path |
114
+ | ------------------------------------------ | --------------------- | -------------- |
115
+ | Home cockpit — fleet tree, detail, preview | `prefix h` | `⌥h` |
116
+ | Switch session | `prefix j` | `⌥p` |
117
+ | Cheat sheet — every key on one page | `prefix k` | `⌥k` |
118
+ | Actions menu (or right-click) | `prefix u` | `⌥m` |
119
+ | Sidebar — fleet nav column | `prefix b` | `⌥b` |
120
+ | Panels — explorer / changes / config | `prefix e` `g` `v` | `⌥e` `⌥g` `⌥,` |
191
121
 
192
- ### Debugging
122
+ One interaction grammar everywhere: `j`/`k` move, `enter` opens, `/` filters,
123
+ `esc` backs out, `?` asks. Bare `tmux-ide` with no `ide.yml` opens the **home
124
+ cockpit** (the fleet home screen). `tmux-ide cheatsheet` prints the full sheet.
193
125
 
194
- ```bash
195
- tmux-ide --verbose # Log all tmux commands to stderr
196
- TMUX_IDE_DEBUG=1 tmux-ide # Same via env var
197
- ```
126
+ ## ide.yml (optional)
198
127
 
199
- ## Programmatic CLI
128
+ Adopt works on any session. If you'd rather have tmux-ide build the layout, describe
129
+ it in `ide.yml` (sessions launched from a config are adopted automatically).
200
130
 
201
- All commands support `--json` for structured output.
131
+ **Setup workflow for a user's project:**
202
132
 
203
- ### Read commands
133
+ 1. Check state: `tmux-ide status --json`
134
+ 2. Detect the stack: `tmux-ide detect --json`
135
+ 3. **Present 2-3 layout options as ASCII diagrams** before writing config:
204
136
 
205
- ```bash
206
- tmux-ide status --json # Session status
207
- tmux-ide validate --json # Validate config
208
- tmux-ide detect --json # Detect project stack
209
- tmux-ide config --json # Dump config as JSON
210
- tmux-ide ls --json # List sessions
211
- tmux-ide doctor --json # System health check
212
- ```
137
+ **Option A — Claude + Dev (recommended)**
213
138
 
214
- ### Write commands
215
-
216
- ```bash
217
- tmux-ide detect --write # Detect and write config
218
- tmux-ide config set name "my-app" # Set config value by dot path
219
- tmux-ide config set rows.0.size "70%"
220
- tmux-ide config add-pane --row 0 --title "Claude" --command "claude"
221
- tmux-ide config remove-pane --row 1 --pane 2
222
- tmux-ide config add-row --size "30%"
223
- tmux-ide config enable-team --name "my-team" # Enable agent teams
224
- tmux-ide config disable-team # Disable agent teams
225
- ```
139
+ ```
140
+ ┌─────────────────────────────────────┐
141
+ │ Claude │ 70%
142
+ ├──────────┬──────────┬──────────────┤
143
+ │ Dev Srv │ Tests │ Shell │ 30%
144
+ └──────────┴──────────┴──────────────┘
145
+ ```
226
146
 
227
- ### Session commands
147
+ **Option B — Dual Claude**
228
148
 
229
- ```bash
230
- tmux-ide # Launch (or re-launch) IDE
231
- tmux-ide stop # Kill session
232
- tmux-ide restart # Stop and relaunch
233
- tmux-ide attach # Reattach
234
- tmux-ide init # Scaffold config
235
- tmux-ide --verbose # Launch with tmux command tracing
236
- ```
149
+ ```
150
+ ┌─────────────────┬─────────────────┐
151
+ │ Claude 1 │ Claude 2 │ 70%
152
+ ├────────┬────────┴───────┬─────────┤
153
+ │Dev Srv │ Tests │ Shell │ 30%
154
+ └────────┴────────────────┴─────────┘
155
+ ```
237
156
 
238
- ## Modification workflow
157
+ **Option C — Explorer + Claude + Changes (widget panes)**
239
158
 
240
- 1. Read: `tmux-ide config --json`
241
- 2. Modify: `tmux-ide config set <path> <value>` or `add-pane`/`remove-pane`
242
- 3. Validate: `tmux-ide validate --json`
243
- 4. Apply: `tmux-ide restart` (needed if session is already running)
159
+ ```
160
+ ┌──────────┬───────────────┬─────────┐
161
+ │ Explorer │ Claude │ Changes │ 100%
162
+ │ (widget) │ │ (widget)│
163
+ └──────────┴───────────────┴─────────┘
164
+ ```
244
165
 
245
- ## Best practices
166
+ Adapt pane names/commands to the detected stack (`pnpm dev`, `cargo watch`, …).
246
167
 
247
- - Always use `--json` for programmatic access
248
- - Always run `validate --json` after config mutations
249
- - Top row ~70% height for Claude panes
250
- - 2-3 Claude panes in the top row (or lead + 2 teammates for teams)
251
- - Dev servers + shell in the bottom row
252
- - Use `detect --json` first to understand the project stack
253
- - For agent teams: assign specific tasks to teammate panes so your prompts stay focused
254
- - The team lead should have `focus: true` for easy access
255
- - Use `tmux-ide --verbose` or `TMUX_IDE_DEBUG=1` when debugging layout issues
168
+ 4. Write it — quick path `tmux-ide detect --write`, or build with the config CLI:
169
+ ```bash
170
+ tmux-ide config add-row --size 70%
171
+ tmux-ide config add-pane --row 0 --title Claude --command claude
172
+ tmux-ide config add-row --size 30%
173
+ tmux-ide config add-pane --row 1 --title "Dev Server" --command "pnpm dev"
174
+ tmux-ide config add-pane --row 1 --title Shell
175
+ tmux-ide validate --json # always validate after mutations
176
+ ```
256
177
 
257
- ## ide.yml format
178
+ **Schema:**
258
179
 
259
180
  ```yaml
260
- name: project-name
261
- before: pnpm install # optional pre-launch hook
262
- team: # optional agent team config
263
- name: my-team
181
+ name: my-app # tmux session name
182
+ sidebar: true # inject the nav column at launch (prefix b / ⌥b); or { width: "30" }
183
+ before: pnpm install # optional pre-launch shell hook
184
+ theme: # optional per-session pane colors
185
+ accent: colour75
186
+ border: colour238
264
187
  rows:
265
- - size: 70%
188
+ - size: 70% # row height percent (rows split evenly if omitted)
266
189
  panes:
267
- - title: Lead
268
- command: claude
269
- role: lead # optional layout metadata: "lead" or "teammate"
270
- focus: true
271
- - title: Teammate 1
272
- command: claude
273
- role: teammate
274
- task: "Work on frontend" # suggested task text for your prompts
275
- - title: Teammate 2
276
- command: claude
277
- role: teammate
278
- task: "Work on backend"
190
+ - title: Claude # pane border label
191
+ command: claude # command to run (optional)
192
+ size: 50% # pane width percent (optional)
193
+ dir: apps/web # per-pane working directory (optional)
194
+ focus: true # initial focus (optional)
195
+ env: # environment variables (optional)
196
+ PORT: "3000"
279
197
  - panes:
280
- - title: Dev Server
281
- command: pnpm dev
282
- dir: apps/web # per-pane working directory
283
- env:
284
- PORT: 3000
198
+ - title: Explorer
199
+ type: explorer # widget pane: explorer | changes | preview | config
200
+ target: src/ # optional widget target path
285
201
  - title: Shell
286
- theme:
287
- accent: colour75
288
- border: colour238
289
202
  ```
203
+
204
+ Read config with `tmux-ide config --json`; mutate with `config set <dot.path> <value>`,
205
+ `add-pane`, `remove-pane`, `add-row`; apply changes to a running session with
206
+ `tmux-ide restart`.
207
+
208
+ An optional mission/goal/task orchestrator exists as a **secondary** surface,
209
+ configured via the `team` and `orchestrator` blocks in `ide.yml` (enable teams
210
+ with `tmux-ide config enable-team --name <n>`). It's not the headline — see the
211
+ Task System docs if a user explicitly wants coordinated multi-agent dispatch.
212
+
213
+ ## Config — ~/.tmux-ide/config.json
214
+
215
+ The one product-wide config (override path with `TMUX_IDE_CONFIG`). A deep
216
+ partial merge over defaults — any block or field you omit falls back:
217
+
218
+ ```jsonc
219
+ {
220
+ "keys": {
221
+ "home": "M-h",
222
+ "popup": "M-p",
223
+ "cheatsheet": "M-k",
224
+ "menu": "M-m",
225
+ "sidebar": "M-b",
226
+ "panels": { "explorer": "M-e", "changes": "M-g", "config": "M-," },
227
+ },
228
+ "theme": {
229
+ "accent": "colour75",
230
+ "muted": "colour240",
231
+ "fg": "colour250",
232
+ "status": {
233
+ "blocked": "colour203",
234
+ "working": "colour221",
235
+ "done": "colour111",
236
+ "idle": "colour114",
237
+ "unknown": "colour244",
238
+ },
239
+ "glyphs": { "active": "●", "inactive": "○" },
240
+ },
241
+ "notifications": { "toast": true, "macos": false },
242
+ "restore": { "resumeAgents": false },
243
+ "updates": { "check": true },
244
+ "integrations": { "offer": true },
245
+ }
246
+ ```
247
+
248
+ One palette + one keymap drive every surface (status bar, chips, menu, cheat
249
+ sheet, and the OpenTUI widgets), so re-theming the whole product is a one-file
250
+ edit plus a re-adopt.
251
+
252
+ ## Keeping this skill current
253
+
254
+ This file is managed — installs and `tmux-ide update` (dev checkouts) refresh the
255
+ copy under `~/.claude/skills/tmux-ide`. To refresh it manually at any time, run
256
+ `tmux-ide skill-sync`. `tmux-ide doctor` reports when the installed copy is stale.
@@ -1 +0,0 @@
1
- <!DOCTYPE html><!--BDqbxLkiJrlXDfMXNb3cK--><html lang="en" class="ibm_plex_mono_3af83e03-module__xSMCQa__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/4a46ad186a8587ee.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/b417aa09c15f63c6.js"/><script src="/_next/static/chunks/4b965aa320a9b358.js" async=""></script><script src="/_next/static/chunks/3e6d4834e0752f76.js" async=""></script><script src="/_next/static/chunks/96aff410a6ab106c.js" async=""></script><script src="/_next/static/chunks/db550aabce60b912.js" async=""></script><script src="/_next/static/chunks/turbopack-2f5dec4a537c0ee7.js" async=""></script><script src="/_next/static/chunks/290f67a6cd150a98.js" async=""></script><script src="/_next/static/chunks/5e49b008432770f1.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>tmux-ide</title><meta name="description" content="Command center for tmux-ide"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="min-h-screen bg-[var(--bg)] text-[var(--fg)] antialiased text-[13px] leading-[1.5]" style="font-family:var(--font-mono), ui-monospace, monospace"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("data-theme","theme","dark",null,["light","dark"],null,true,true)</script><div class="h-6 flex items-center px-3 bg-[var(--bg-weak)] border-b text-[11px] sticky top-0 z-30"><span class="text-[var(--accent)] font-medium">tmux-ide</span><span class="flex-1"></span><span class="w-4"></span><span class="text-[var(--dim)] ml-3"></span></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/b417aa09c15f63c6.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[77198,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"Providers\"]\n3:I[49429,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"TopBar\"]\n4:I[76277,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"default\"]\n5:I[92511,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"default\"]\n6:I[13013,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[13013,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"ViewportBoundary\"]\nb:I[13013,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"MetadataBoundary\"]\nd:I[38848,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"default\"]\n:HL[\"/_next/static/chunks/4a46ad186a8587ee.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"BDqbxLkiJrlXDfMXNb3cK\",\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/4a46ad186a8587ee.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/290f67a6cd150a98.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/5e49b008432770f1.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"ibm_plex_mono_3af83e03-module__xSMCQa__variable\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-[var(--bg)] text-[var(--fg)] antialiased text-[13px] leading-[1.5]\",\"style\":{\"fontFamily\":\"var(--font-mono), ui-monospace, monospace\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"tmux-ide\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Command center for tmux-ide\"}]]\n"])</script></body></html>
@@ -1 +0,0 @@
1
- <!DOCTYPE html><!--BDqbxLkiJrlXDfMXNb3cK--><html lang="en" class="ibm_plex_mono_3af83e03-module__xSMCQa__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/4a46ad186a8587ee.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/b417aa09c15f63c6.js"/><script src="/_next/static/chunks/4b965aa320a9b358.js" async=""></script><script src="/_next/static/chunks/3e6d4834e0752f76.js" async=""></script><script src="/_next/static/chunks/96aff410a6ab106c.js" async=""></script><script src="/_next/static/chunks/db550aabce60b912.js" async=""></script><script src="/_next/static/chunks/turbopack-2f5dec4a537c0ee7.js" async=""></script><script src="/_next/static/chunks/290f67a6cd150a98.js" async=""></script><script src="/_next/static/chunks/5e49b008432770f1.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>tmux-ide</title><meta name="description" content="Command center for tmux-ide"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="min-h-screen bg-[var(--bg)] text-[var(--fg)] antialiased text-[13px] leading-[1.5]" style="font-family:var(--font-mono), ui-monospace, monospace"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("data-theme","theme","dark",null,["light","dark"],null,true,true)</script><div class="h-6 flex items-center px-3 bg-[var(--bg-weak)] border-b text-[11px] sticky top-0 z-30"><span class="text-[var(--accent)] font-medium">tmux-ide</span><span class="flex-1"></span><span class="w-4"></span><span class="text-[var(--dim)] ml-3"></span></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/b417aa09c15f63c6.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[77198,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"Providers\"]\n3:I[49429,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"TopBar\"]\n4:I[76277,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"default\"]\n5:I[92511,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"default\"]\n6:I[13013,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[13013,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"ViewportBoundary\"]\nb:I[13013,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"MetadataBoundary\"]\nd:I[38848,[\"/_next/static/chunks/290f67a6cd150a98.js\",\"/_next/static/chunks/5e49b008432770f1.js\"],\"default\"]\n:HL[\"/_next/static/chunks/4a46ad186a8587ee.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"BDqbxLkiJrlXDfMXNb3cK\",\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/4a46ad186a8587ee.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/290f67a6cd150a98.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/5e49b008432770f1.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"ibm_plex_mono_3af83e03-module__xSMCQa__variable\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-[var(--bg)] text-[var(--fg)] antialiased text-[13px] leading-[1.5]\",\"style\":{\"fontFamily\":\"var(--font-mono), ui-monospace, monospace\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"tmux-ide\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Command center for tmux-ide\"}]]\n"])</script></body></html>
@@ -1,9 +0,0 @@
1
- 1:"$Sreact.fragment"
2
- 2:I[94575,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"ClientPageRoot"]
3
- 3:I[77851,["/_next/static/chunks/d6a6c75c9a4bef49.js","/_next/static/chunks/c6f820f71162a59a.js"],"default"]
4
- 6:I[13013,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"OutletBoundary"]
5
- 7:"$Sreact.suspense"
6
- 0:{"buildId":"BDqbxLkiJrlXDfMXNb3cK","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/c6f820f71162a59a.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false}
7
- 4:{}
8
- 5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
9
- 8:null
@@ -1,21 +0,0 @@
1
- 1:"$Sreact.fragment"
2
- 2:I[77198,["/_next/static/chunks/d6a6c75c9a4bef49.js"],"Providers"]
3
- 3:I[49429,["/_next/static/chunks/d6a6c75c9a4bef49.js"],"TopBar"]
4
- 4:I[76277,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"default"]
5
- 5:I[92511,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"default"]
6
- 6:I[94575,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"ClientPageRoot"]
7
- 7:I[77851,["/_next/static/chunks/d6a6c75c9a4bef49.js","/_next/static/chunks/c6f820f71162a59a.js"],"default"]
8
- a:I[13013,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"OutletBoundary"]
9
- b:"$Sreact.suspense"
10
- d:I[13013,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"ViewportBoundary"]
11
- f:I[13013,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"MetadataBoundary"]
12
- 11:I[38848,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"default"]
13
- :HL["/_next/static/chunks/4a46ad186a8587ee.css","style"]
14
- :HL["/_next/static/media/99e609270109b47d-s.p.64b9304e.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
15
- :HL["/_next/static/media/effe91970fc4db64-s.p.19510058.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
16
- 0:{"P":null,"b":"BDqbxLkiJrlXDfMXNb3cK","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/4a46ad186a8587ee.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/d6a6c75c9a4bef49.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"ibm_plex_mono_3af83e03-module__xSMCQa__variable","suppressHydrationWarning":true,"children":["$","body",null,{"className":"min-h-screen bg-[var(--bg)] text-[var(--fg)] antialiased text-[13px] leading-[1.5]","style":{"fontFamily":"var(--font-mono), ui-monospace, monospace"},"children":["$","$L2",null,{"children":[["$","$L3",null,{}],["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/c6f820f71162a59a.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[]],"S":true}
17
- 8:{}
18
- 9:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
19
- e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
20
- c:null
21
- 10:[["$","title","0",{"children":"tmux-ide"}],["$","meta","1",{"name":"description","content":"Command center for tmux-ide"}]]
@@ -1,5 +0,0 @@
1
- 1:"$Sreact.fragment"
2
- 2:I[13013,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"ViewportBoundary"]
3
- 3:I[13013,["/_next/static/chunks/c322b8005eebc0d8.js","/_next/static/chunks/5e49b008432770f1.js"],"MetadataBoundary"]
4
- 4:"$Sreact.suspense"
5
- 0:{"buildId":"BDqbxLkiJrlXDfMXNb3cK","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"tmux-ide"}],["$","meta","1",{"name":"description","content":"Command center for tmux-ide"}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}