tmux-ide 2.9.0-beta.18 → 2.9.0-beta.19

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 (247) hide show
  1. package/README.md +38 -0
  2. package/bin/cli.js +9873 -7143
  3. package/package.json +7 -3
  4. package/packages/contracts/src/actions-contract.ts +6 -0
  5. package/packages/contracts/src/daemon-wire.ts +14 -0
  6. package/packages/contracts/src/index.ts +2 -0
  7. package/packages/contracts/src/workspace-admission.test.ts +21 -0
  8. package/packages/contracts/src/workspace-admission.ts +25 -0
  9. package/packages/core/src/terminal-delivery-representation-hash.test.ts +77 -0
  10. package/packages/core/src/terminal-delivery.ts +8 -3
  11. package/packages/daemon/dist/agent-explain.js +2 -1
  12. package/packages/daemon/dist/cli.js +4 -0
  13. package/packages/daemon/dist/command-center/actions/command-definitions.js +1 -0
  14. package/packages/daemon/dist/command-center/actions/handlers/daemon-shutdown.js +32 -0
  15. package/packages/daemon/dist/command-center/actions/registry.js +6 -1
  16. package/packages/daemon/dist/command-center/bounded-control-writer.js +53 -0
  17. package/packages/daemon/dist/command-center/daemon-fleet-facts-observer.js +123 -16
  18. package/packages/daemon/dist/command-center/discovery.js +2 -1
  19. package/packages/daemon/dist/command-center/log-stream.js +118 -0
  20. package/packages/daemon/dist/command-center/resources/workspace-admission-route.js +31 -0
  21. package/packages/daemon/dist/command-center/server.js +16 -33
  22. package/packages/daemon/dist/command-center/ws-events.js +34 -21
  23. package/packages/daemon/dist/control/lifecycle.js +2 -1
  24. package/packages/daemon/dist/control/server.js +2 -2
  25. package/packages/daemon/dist/doctor.js +35 -27
  26. package/packages/daemon/dist/lib/app-config.js +11 -4
  27. package/packages/daemon/dist/lib/app-settings.js +4 -3
  28. package/packages/daemon/dist/lib/auth/auth-service.js +3 -0
  29. package/packages/daemon/dist/lib/bounded-tmux-read.js +46 -0
  30. package/packages/daemon/dist/lib/bundled-tmux.js +16 -0
  31. package/packages/daemon/dist/lib/canonical-daemon-bootstrap.js +68 -48
  32. package/packages/daemon/dist/lib/canonical-daemon.js +285 -21
  33. package/packages/daemon/dist/lib/cli-action-bridge.js +5 -0
  34. package/packages/daemon/dist/lib/daemon-embed.js +43 -11
  35. package/packages/daemon/dist/lib/daemon-restart-request.js +1 -0
  36. package/packages/daemon/dist/lib/development-app.js +217 -0
  37. package/packages/daemon/dist/lib/development-build-manager.js +466 -0
  38. package/packages/daemon/dist/lib/development-build.js +171 -0
  39. package/packages/daemon/dist/lib/development-compose.js +322 -0
  40. package/packages/daemon/dist/lib/development-container-app.js +39 -0
  41. package/packages/daemon/dist/lib/development-container-reset.js +313 -0
  42. package/packages/daemon/dist/lib/development-container-shell.js +93 -0
  43. package/packages/daemon/dist/lib/development-container.js +700 -0
  44. package/packages/daemon/dist/lib/development-control.js +683 -0
  45. package/packages/daemon/dist/lib/development-diagnostics.js +274 -0
  46. package/packages/daemon/dist/lib/development-instance.js +113 -0
  47. package/packages/daemon/dist/lib/development-lifecycle.js +529 -0
  48. package/packages/daemon/dist/lib/development-lock.js +203 -0
  49. package/packages/daemon/dist/lib/development-log.js +104 -0
  50. package/packages/daemon/dist/lib/development-owner.js +95 -0
  51. package/packages/daemon/dist/lib/development-runtime-owner.js +77 -0
  52. package/packages/daemon/dist/lib/development-selection.js +85 -0
  53. package/packages/daemon/dist/lib/development-ssh.js +105 -0
  54. package/packages/daemon/dist/lib/development-state.js +347 -0
  55. package/packages/daemon/dist/lib/development-suspension.js +188 -0
  56. package/packages/daemon/dist/lib/environment-identity.js +2 -1
  57. package/packages/daemon/dist/lib/fleet-client-state.js +2 -1
  58. package/packages/daemon/dist/lib/headless-daemon.js +45 -11
  59. package/packages/daemon/dist/lib/install-origin.js +62 -0
  60. package/packages/daemon/dist/lib/manifest-pack.js +3 -0
  61. package/packages/daemon/dist/lib/onboarding-marker.js +2 -1
  62. package/packages/daemon/dist/lib/project-registry.js +2 -1
  63. package/packages/daemon/dist/lib/project-runtime-repository.js +2 -1
  64. package/packages/daemon/dist/lib/restart-canonical-daemon.js +143 -0
  65. package/packages/daemon/dist/lib/runtime-namespace.js +169 -9
  66. package/packages/daemon/dist/lib/saved-machines.js +2 -1
  67. package/packages/daemon/dist/lib/semver.js +38 -0
  68. package/packages/daemon/dist/lib/skill-sync.js +6 -3
  69. package/packages/daemon/dist/lib/ssh-daemon-relay.js +398 -0
  70. package/packages/daemon/dist/lib/ssh-daemon-transport.js +27 -3
  71. package/packages/daemon/dist/lib/terminals-store.js +9 -0
  72. package/packages/daemon/dist/lib/tmux-named-socket-fence.js +8 -4
  73. package/packages/daemon/dist/lib/tui-binary.js +9 -58
  74. package/packages/daemon/dist/lib/tui-download-lock.js +210 -0
  75. package/packages/daemon/dist/lib/update-check.js +55 -77
  76. package/packages/daemon/dist/lib/update.js +112 -124
  77. package/packages/daemon/dist/lib/widget-asset-store.js +2 -1
  78. package/packages/daemon/dist/lib/workspace-open.js +11 -0
  79. package/packages/daemon/dist/lib/workspace-pane-creation.js +11 -16
  80. package/packages/daemon/dist/lib/workspace-promotion.js +31 -50
  81. package/packages/daemon/dist/lib/workspace-registry.js +2 -1
  82. package/packages/daemon/dist/terminal/attachments/native-runtime.js +99 -29
  83. package/packages/daemon/dist/terminal/mirror/session-channel.js +6 -1
  84. package/packages/daemon/dist/terminal/session-runtime/registry.js +4 -2
  85. package/packages/daemon/dist/tui/chrome/events.js +2 -1
  86. package/packages/daemon/dist/tui/chrome/notify-state.js +2 -1
  87. package/packages/daemon/dist/tui/chrome/notify.js +10 -1
  88. package/packages/daemon/dist/tui/chrome/snapshot.js +3 -2
  89. package/packages/daemon/dist/tui/chrome/welcome.js +4 -3
  90. package/packages/daemon/dist/tui/compiled.js +39 -1
  91. package/packages/daemon/dist/tui/detect/manifest-loader.js +4 -3
  92. package/packages/daemon/dist/tui/detect/session-id.js +14 -0
  93. package/packages/daemon/dist/tui/integrations/claude.js +168 -50
  94. package/packages/daemon/dist/tui/integrations/offer.js +6 -3
  95. package/packages/daemon/dist/tui/integrations/opencode.js +5 -7
  96. package/packages/daemon/dist/tui/mirror/app-state.js +4 -3
  97. package/packages/daemon/dist/tui/mirror/application-shell-daemon-connection.js +30 -8
  98. package/packages/daemon/dist/tui/mirror/canonical-workspace-routing.js +15 -7
  99. package/packages/daemon/dist/tui/mirror/configless-session-bootstrap.js +30 -6
  100. package/packages/daemon/dist/tui/mirror/editor-buffer.js +2 -0
  101. package/packages/daemon/dist/tui/mirror/features/files/editor-file-io.js +98 -0
  102. package/packages/daemon/dist/tui/mirror/features/files/session.js +194 -54
  103. package/packages/daemon/dist/tui/mirror/hosted.js +5 -0
  104. package/packages/daemon/dist/tui/mirror/runtime/application-fleet-preferences.js +12 -2
  105. package/packages/daemon/dist/tui/mirror/runtime/application-generation-starter.js +2 -2
  106. package/packages/daemon/dist/tui/mirror/runtime/application-home-agent-transport.js +2 -2
  107. package/packages/daemon/dist/tui/mirror/runtime/application-machine-navigation.js +12 -1
  108. package/packages/daemon/dist/tui/mirror/runtime/application-machine-startup.js +2 -1
  109. package/packages/daemon/dist/tui/mirror/runtime/application-performance-log.js +4 -0
  110. package/packages/daemon/dist/tui/mirror/runtime/application-route-connection.js +2 -2
  111. package/packages/daemon/dist/tui/mirror/runtime/host-local-tmux-adapter.js +2 -1
  112. package/packages/daemon/dist/tui/mirror/runtime/open-tui-generation-host.js +117 -22
  113. package/packages/daemon/dist/tui/mirror/runtime/open-tui-session-owner.js +14 -2
  114. package/packages/daemon/dist/tui/mirror/shell-chrome.js +10 -0
  115. package/packages/daemon/dist/tui/mirror/startup-failure.js +83 -0
  116. package/packages/daemon/dist/tui/mirror/workspace/connection-feedback.js +104 -8
  117. package/packages/daemon/dist/tui/team/keymap.js +2 -2
  118. package/packages/daemon/dist/tui/team/sessions.js +2 -1
  119. package/packages/daemon/dist/widgets/lib/pane-comms.js +3 -2
  120. package/packages/daemon/src/agent-explain.ts +2 -1
  121. package/packages/daemon/src/cli.ts +5 -0
  122. package/packages/daemon/src/command-center/actions/command-definitions.ts +1 -0
  123. package/packages/daemon/src/command-center/actions/errors.ts +1 -0
  124. package/packages/daemon/src/command-center/actions/handlers/daemon-shutdown.ts +39 -0
  125. package/packages/daemon/src/command-center/actions/handlers/workspace-open.ts +2 -0
  126. package/packages/daemon/src/command-center/actions/handlers/workspace-promote.ts +2 -0
  127. package/packages/daemon/src/command-center/actions/registry.ts +6 -1
  128. package/packages/daemon/src/command-center/bounded-control-writer.ts +56 -0
  129. package/packages/daemon/src/command-center/daemon-fleet-facts-observer.ts +150 -20
  130. package/packages/daemon/src/command-center/discovery.ts +2 -1
  131. package/packages/daemon/src/command-center/log-stream.ts +133 -0
  132. package/packages/daemon/src/command-center/resources/workspace-admission-route.ts +47 -0
  133. package/packages/daemon/src/command-center/server.ts +19 -30
  134. package/packages/daemon/src/command-center/ws-events.ts +35 -12
  135. package/packages/daemon/src/control/lifecycle.ts +6 -2
  136. package/packages/daemon/src/control/server.ts +2 -2
  137. package/packages/daemon/src/doctor.ts +37 -28
  138. package/packages/daemon/src/lib/agent-discovery.ts +2 -1
  139. package/packages/daemon/src/lib/app-config.ts +12 -4
  140. package/packages/daemon/src/lib/app-settings.ts +4 -3
  141. package/packages/daemon/src/lib/auth/auth-service.ts +2 -0
  142. package/packages/daemon/src/lib/bounded-tmux-read.ts +54 -0
  143. package/packages/daemon/src/lib/bundled-tmux.ts +16 -0
  144. package/packages/daemon/src/lib/canonical-daemon-bootstrap.ts +102 -44
  145. package/packages/daemon/src/lib/canonical-daemon.ts +340 -19
  146. package/packages/daemon/src/lib/cli-action-bridge.ts +4 -0
  147. package/packages/daemon/src/lib/daemon-embed.ts +76 -13
  148. package/packages/daemon/src/lib/daemon-restart-request.ts +11 -0
  149. package/packages/daemon/src/lib/development-app.ts +259 -0
  150. package/packages/daemon/src/lib/development-build-manager.ts +607 -0
  151. package/packages/daemon/src/lib/development-build.ts +234 -0
  152. package/packages/daemon/src/lib/development-compose.ts +377 -0
  153. package/packages/daemon/src/lib/development-container-app.ts +50 -0
  154. package/packages/daemon/src/lib/development-container-reset.ts +377 -0
  155. package/packages/daemon/src/lib/development-container-shell.ts +104 -0
  156. package/packages/daemon/src/lib/development-container.ts +857 -0
  157. package/packages/daemon/src/lib/development-control.ts +877 -0
  158. package/packages/daemon/src/lib/development-diagnostics.ts +300 -0
  159. package/packages/daemon/src/lib/development-instance.ts +142 -0
  160. package/packages/daemon/src/lib/development-lifecycle.ts +671 -0
  161. package/packages/daemon/src/lib/development-lock.ts +207 -0
  162. package/packages/daemon/src/lib/development-log.ts +123 -0
  163. package/packages/daemon/src/lib/development-owner.ts +128 -0
  164. package/packages/daemon/src/lib/development-runtime-owner.ts +94 -0
  165. package/packages/daemon/src/lib/development-selection.ts +94 -0
  166. package/packages/daemon/src/lib/development-ssh.ts +140 -0
  167. package/packages/daemon/src/lib/development-state.ts +457 -0
  168. package/packages/daemon/src/lib/development-suspension.ts +236 -0
  169. package/packages/daemon/src/lib/embedded-daemon-lifecycle.ts +3 -3
  170. package/packages/daemon/src/lib/environment-identity.ts +2 -1
  171. package/packages/daemon/src/lib/fleet-client-state.ts +2 -1
  172. package/packages/daemon/src/lib/headless-daemon.ts +58 -13
  173. package/packages/daemon/src/lib/install-origin.ts +64 -0
  174. package/packages/daemon/src/lib/manifest-pack.ts +2 -0
  175. package/packages/daemon/src/lib/onboarding-marker.ts +2 -1
  176. package/packages/daemon/src/lib/project-registry.ts +2 -1
  177. package/packages/daemon/src/lib/project-runtime-repository.ts +2 -1
  178. package/packages/daemon/src/lib/restart-canonical-daemon.ts +194 -0
  179. package/packages/daemon/src/lib/runtime-namespace.ts +214 -10
  180. package/packages/daemon/src/lib/saved-machines.ts +2 -1
  181. package/packages/daemon/src/lib/semver.ts +34 -0
  182. package/packages/daemon/src/lib/skill-sync.ts +6 -3
  183. package/packages/daemon/src/lib/ssh-daemon-relay.ts +439 -0
  184. package/packages/daemon/src/lib/ssh-daemon-transport.ts +28 -3
  185. package/packages/daemon/src/lib/terminals-store.ts +9 -0
  186. package/packages/daemon/src/lib/tmux-named-socket-fence.ts +8 -4
  187. package/packages/daemon/src/lib/tui-binary.ts +10 -53
  188. package/packages/daemon/src/lib/tui-download-lock.ts +208 -0
  189. package/packages/daemon/src/lib/update-check.ts +85 -77
  190. package/packages/daemon/src/lib/update.ts +148 -134
  191. package/packages/daemon/src/lib/widget-asset-store.ts +2 -1
  192. package/packages/daemon/src/lib/workspace-open.ts +13 -0
  193. package/packages/daemon/src/lib/workspace-pane-creation.ts +10 -19
  194. package/packages/daemon/src/lib/workspace-promotion.ts +34 -23
  195. package/packages/daemon/src/lib/workspace-registry.ts +2 -1
  196. package/packages/daemon/src/terminal/attachments/native-runtime.ts +141 -64
  197. package/packages/daemon/src/terminal/mirror/session-channel.ts +6 -1
  198. package/packages/daemon/src/terminal/session-runtime/registry.ts +4 -2
  199. package/packages/daemon/src/tui/chrome/events.ts +2 -1
  200. package/packages/daemon/src/tui/chrome/notify-state.ts +2 -1
  201. package/packages/daemon/src/tui/chrome/notify.ts +9 -1
  202. package/packages/daemon/src/tui/chrome/snapshot.ts +3 -2
  203. package/packages/daemon/src/tui/chrome/welcome.ts +4 -3
  204. package/packages/daemon/src/tui/compiled.ts +42 -1
  205. package/packages/daemon/src/tui/detect/manifest-loader.ts +4 -3
  206. package/packages/daemon/src/tui/detect/session-id.ts +13 -0
  207. package/packages/daemon/src/tui/integrations/claude.ts +194 -51
  208. package/packages/daemon/src/tui/integrations/offer.ts +5 -3
  209. package/packages/daemon/src/tui/integrations/opencode.ts +5 -6
  210. package/packages/daemon/src/tui/mirror/app-state.ts +4 -3
  211. package/packages/daemon/src/tui/mirror/application-shell-daemon-connection.ts +30 -7
  212. package/packages/daemon/src/tui/mirror/canonical-workspace-routing.ts +32 -8
  213. package/packages/daemon/src/tui/mirror/configless-session-bootstrap.ts +33 -6
  214. package/packages/daemon/src/tui/mirror/editor-buffer.ts +2 -1
  215. package/packages/daemon/src/tui/mirror/features/files/editor-file-io.ts +120 -0
  216. package/packages/daemon/src/tui/mirror/features/files/session.ts +205 -60
  217. package/packages/daemon/src/tui/mirror/hosted.ts +7 -0
  218. package/packages/daemon/src/tui/mirror/runtime/application-appearance-owner.ts +1 -1
  219. package/packages/daemon/src/tui/mirror/runtime/application-fleet-preferences.ts +11 -5
  220. package/packages/daemon/src/tui/mirror/runtime/application-generation-starter.ts +3 -3
  221. package/packages/daemon/src/tui/mirror/runtime/application-home-agent-transport.ts +2 -2
  222. package/packages/daemon/src/tui/mirror/runtime/application-machine-navigation.ts +13 -2
  223. package/packages/daemon/src/tui/mirror/runtime/application-machine-startup.ts +2 -1
  224. package/packages/daemon/src/tui/mirror/runtime/application-performance-log.ts +3 -0
  225. package/packages/daemon/src/tui/mirror/runtime/application-root-v2.tsx +24 -22
  226. package/packages/daemon/src/tui/mirror/runtime/application-route-connection.ts +2 -2
  227. package/packages/daemon/src/tui/mirror/runtime/application-shell-catalog.tsx +18 -2
  228. package/packages/daemon/src/tui/mirror/runtime/host-local-tmux-adapter.ts +4 -1
  229. package/packages/daemon/src/tui/mirror/runtime/open-tui-generation-host.ts +121 -19
  230. package/packages/daemon/src/tui/mirror/runtime/open-tui-session-owner.ts +17 -3
  231. package/packages/daemon/src/tui/mirror/shell-chrome-view.tsx +14 -0
  232. package/packages/daemon/src/tui/mirror/shell-chrome.ts +15 -0
  233. package/packages/daemon/src/tui/mirror/startup-failure.ts +93 -0
  234. package/packages/daemon/src/tui/mirror/workspace/connection-feedback.ts +109 -8
  235. package/packages/daemon/src/tui/team/index.tsx +5 -1
  236. package/packages/daemon/src/tui/team/keymap.ts +2 -2
  237. package/packages/daemon/src/tui/team/sessions.ts +2 -1
  238. package/packages/daemon/src/widgets/config/index.tsx +3 -0
  239. package/packages/daemon/src/widgets/explorer/index.tsx +13 -6
  240. package/packages/daemon/src/widgets/lib/pane-comms.ts +3 -2
  241. package/packages/daemon/src/widgets/preview/index.tsx +2 -1
  242. package/packages/daemon/src/widgets/setup/index.tsx +3 -0
  243. package/packages/daemon/src/widgets/sidebar/index.tsx +2 -1
  244. package/packages/daemon-client/src/bootstrap-coordinator.test.ts +23 -0
  245. package/packages/daemon-client/src/bootstrap-coordinator.ts +6 -1
  246. package/packages/tmux-bridge/src/runner.ts +3 -0
  247. package/scripts/postinstall.js +3 -0
package/README.md CHANGED
@@ -39,6 +39,20 @@ The first app launch downloads the exact-version OpenTUI runtime for macOS or
39
39
  Linux, verifies its release metadata and SHA-256 digests, and caches it under
40
40
  `~/.tmux-ide/bin`. Installed users do not need Bun.
41
41
 
42
+ To reset a running daemon's runtime while keeping its supervising process and
43
+ tmux sessions:
44
+
45
+ ```bash
46
+ tmux-ide daemon restart --json
47
+ ```
48
+
49
+ The command verifies a new daemon generation under the same process, preserving
50
+ the active listener and remote-access settings. It does not start a missing
51
+ daemon or load newly installed code; use `tmux-ide update --daemon` for the
52
+ separate version-upgrade flow. Managed services require the
53
+ [explicit supervisor setup](docs/content/docs/app-surfaces.mdx#supervised-daemon-upgrades). The existing `tmux-ide restart` command still
54
+ restarts an IDE session.
55
+
42
56
  ## What ships in 2.9
43
57
 
44
58
  - **Home and Terminals** over live tmux sessions, with no project config
@@ -141,3 +155,27 @@ Regenerate the production-renderer demo with `pnpm demo:tui`.
141
155
  ## License
142
156
 
143
157
  [MIT](LICENSE)
158
+
159
+ Owner-authorized `GET /api/resources/workspace-admission` returns a versioned,
160
+ passive snapshot of workspace promotion and workspace-open admission. Each
161
+ backend reports `pending`, its `limit`, `disposed`, and retained receipt counts
162
+ (`retained` / `retentionLimit`). A `null` backend means unavailable or unknown.
163
+ `pending >= limit` indicates queue pressure; `disposed` refuses new work.
164
+ Promotion replay retention does not block admission. For workspace-open,
165
+ `retentionMayBlock` indicates the current legacy receipt ledger is full; normal
166
+ admission may still retire closed-workspace receipts and proceed. The snapshot
167
+ performs no inventory discovery, mutation, or reservation. It describes only
168
+ these admission owners, not whole-daemon readiness; `/health` remains liveness.
169
+
170
+ `tmux-ide update --dry-run --json` reports the planned update without installing
171
+ packages or refreshing skills. Stable installations use the npm `latest` tag;
172
+ prerelease installations use `beta`. Update checks and notification receipts are
173
+ cached separately per channel. The updater resolves its own installation path
174
+ and verifies that the active npm, pnpm, or Bun global destination matches it
175
+ before executing an argument-based manager command. Homebrew, Yarn, npx, source
176
+ checkouts, unknown layouts, and mismatched manager prefixes receive manual
177
+ instructions. Package postinstall owns skill refresh; `tmux-ide skill-sync` is
178
+ available explicitly for installations that skip lifecycle scripts.
179
+
180
+ Node.js 20 or newer is required. `doctor` accepts a project without a workspace
181
+ preset; a present but malformed `.tmux-ide/workspace.yml` still fails validation.