devchain-cli 0.23.4 → 0.24.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 (1324) hide show
  1. package/README.md +56 -45
  2. package/dist/build-info.json +5 -0
  3. package/dist/cli.js +183 -677
  4. package/dist/drizzle/0086_retire_worktrees.sql +3 -0
  5. package/dist/drizzle/0087_add_remotes_and_bindings.sql +23 -0
  6. package/dist/drizzle/0088_add_project_frozen_at.sql +4 -0
  7. package/dist/drizzle/0089_add_remote_operations.sql +16 -0
  8. package/dist/drizzle/0090_add_binding_sync_error.sql +2 -0
  9. package/dist/drizzle/0091_add_provider_auth_entries.sql +17 -0
  10. package/dist/drizzle/0092_amazing_synch.sql +43 -0
  11. package/dist/drizzle/0093_remote_tls_certificate.sql +1 -0
  12. package/dist/drizzle/meta/0086_snapshot.json +7050 -0
  13. package/dist/drizzle/meta/0087_snapshot.json +7211 -0
  14. package/dist/drizzle/meta/0088_snapshot.json +7218 -0
  15. package/dist/drizzle/meta/0089_snapshot.json +7335 -0
  16. package/dist/drizzle/meta/0090_snapshot.json +7349 -0
  17. package/dist/drizzle/meta/0091_snapshot.json +7465 -0
  18. package/dist/drizzle/meta/0092_snapshot.json +7648 -0
  19. package/dist/drizzle/meta/0093_snapshot.json +7655 -0
  20. package/dist/drizzle/meta/_journal.json +56 -0
  21. package/dist/host-cli-pins.json +7 -0
  22. package/dist/host-install/60-devchain-inotify.conf +2 -0
  23. package/dist/host-install/devchain-bootstrap.service +25 -0
  24. package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
  25. package/dist/host-install/devchain-no-session-bus.pref +6 -0
  26. package/dist/host-install/pins.json +31 -0
  27. package/dist/lib/exclusive-run.js +308 -0
  28. package/dist/lib/host-api-key.js +143 -0
  29. package/dist/lib/host-install.js +889 -0
  30. package/dist/node_modules/@devchain/proxmox-client/dist/domain-error.d.ts +7 -0
  31. package/dist/node_modules/@devchain/proxmox-client/dist/domain-error.d.ts.map +1 -0
  32. package/dist/node_modules/@devchain/proxmox-client/dist/domain-error.js +15 -0
  33. package/dist/node_modules/@devchain/proxmox-client/dist/domain-error.js.map +1 -0
  34. package/dist/node_modules/@devchain/proxmox-client/dist/index.d.ts +5 -0
  35. package/dist/node_modules/@devchain/proxmox-client/dist/index.d.ts.map +1 -0
  36. package/dist/node_modules/@devchain/proxmox-client/dist/index.js +14 -0
  37. package/dist/node_modules/@devchain/proxmox-client/dist/index.js.map +1 -0
  38. package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-client.d.ts +189 -0
  39. package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-client.d.ts.map +1 -0
  40. package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-client.js +562 -0
  41. package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-client.js.map +1 -0
  42. package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-errors.d.ts +20 -0
  43. package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-errors.d.ts.map +1 -0
  44. package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-errors.js +43 -0
  45. package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-errors.js.map +1 -0
  46. package/dist/node_modules/@devchain/proxmox-client/dist/smbios-parser.d.ts +20 -0
  47. package/dist/node_modules/@devchain/proxmox-client/dist/smbios-parser.d.ts.map +1 -0
  48. package/dist/node_modules/@devchain/proxmox-client/dist/smbios-parser.js +46 -0
  49. package/dist/node_modules/@devchain/proxmox-client/dist/smbios-parser.js.map +1 -0
  50. package/dist/node_modules/@devchain/proxmox-client/package.json +26 -0
  51. package/dist/node_modules/@devchain/shared/index.d.ts +2 -1
  52. package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
  53. package/dist/node_modules/@devchain/shared/index.js +2 -1
  54. package/dist/node_modules/@devchain/shared/index.js.map +1 -1
  55. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +41 -2
  56. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts.map +1 -1
  57. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js +15 -1
  58. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -1
  59. package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.d.ts +345 -0
  60. package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.d.ts.map +1 -0
  61. package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.js +34 -0
  62. package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.js.map +1 -0
  63. package/dist/node_modules/@devchain/shared/schemas/host-skill-settings.d.ts +184 -0
  64. package/dist/node_modules/@devchain/shared/schemas/host-skill-settings.d.ts.map +1 -0
  65. package/dist/node_modules/@devchain/shared/schemas/host-skill-settings.js +70 -0
  66. package/dist/node_modules/@devchain/shared/schemas/host-skill-settings.js.map +1 -0
  67. package/dist/node_modules/@devchain/shared/schemas/index.d.ts +4 -0
  68. package/dist/node_modules/@devchain/shared/schemas/index.d.ts.map +1 -1
  69. package/dist/node_modules/@devchain/shared/schemas/index.js +4 -0
  70. package/dist/node_modules/@devchain/shared/schemas/index.js.map +1 -1
  71. package/dist/node_modules/@devchain/shared/schemas/project-replica.d.ts +8178 -2218
  72. package/dist/node_modules/@devchain/shared/schemas/project-replica.d.ts.map +1 -1
  73. package/dist/node_modules/@devchain/shared/schemas/project-replica.js +124 -9
  74. package/dist/node_modules/@devchain/shared/schemas/project-replica.js.map +1 -1
  75. package/dist/node_modules/@devchain/shared/schemas/provider-clis.d.ts +68 -0
  76. package/dist/node_modules/@devchain/shared/schemas/provider-clis.d.ts.map +1 -0
  77. package/dist/node_modules/@devchain/shared/schemas/provider-clis.js +37 -0
  78. package/dist/node_modules/@devchain/shared/schemas/provider-clis.js.map +1 -0
  79. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  80. package/dist/server/app.module.d.ts +4 -1
  81. package/dist/server/app.module.js +110 -2
  82. package/dist/server/app.module.js.map +1 -1
  83. package/dist/server/common/app-version.d.ts +1 -0
  84. package/dist/server/common/app-version.js +28 -0
  85. package/dist/server/common/app-version.js.map +1 -0
  86. package/dist/server/common/config/env.config.d.ts +42 -78
  87. package/dist/server/common/config/env.config.js +24 -42
  88. package/dist/server/common/config/env.config.js.map +1 -1
  89. package/dist/server/common/config/host-image.config.d.ts +16 -0
  90. package/dist/server/common/config/host-image.config.js +33 -0
  91. package/dist/server/common/config/host-image.config.js.map +1 -0
  92. package/dist/server/common/config/host-image.json +5 -0
  93. package/dist/server/common/config/{container-scope.d.ts → integration-admission.d.ts} +3 -4
  94. package/dist/server/common/config/{container-scope.js → integration-admission.js} +2 -11
  95. package/dist/server/common/config/integration-admission.js.map +1 -0
  96. package/dist/server/common/config/provider-baseline.d.ts +16 -0
  97. package/dist/server/common/config/provider-baseline.js +15 -0
  98. package/dist/server/common/config/provider-baseline.js.map +1 -0
  99. package/dist/server/common/constants/built-in-skill-sources.d.ts +10 -0
  100. package/dist/server/common/constants/built-in-skill-sources.js +19 -0
  101. package/dist/server/common/constants/built-in-skill-sources.js.map +1 -0
  102. package/dist/server/common/constants/syncthing-markers.d.ts +4 -0
  103. package/dist/server/common/constants/syncthing-markers.js +19 -0
  104. package/dist/server/common/constants/syncthing-markers.js.map +1 -0
  105. package/dist/server/common/errors/error-types.d.ts +21 -0
  106. package/dist/server/common/errors/error-types.js +48 -1
  107. package/dist/server/common/errors/error-types.js.map +1 -1
  108. package/dist/server/common/follow-note.d.ts +2 -0
  109. package/dist/server/common/follow-note.js +12 -0
  110. package/dist/server/common/follow-note.js.map +1 -0
  111. package/dist/server/common/guards/integration-admission.guard.js +2 -2
  112. package/dist/server/common/guards/integration-admission.guard.js.map +1 -1
  113. package/dist/server/common/http/request-abort-signal.d.ts +2 -0
  114. package/dist/server/common/http/request-abort-signal.js +24 -0
  115. package/dist/server/common/http/request-abort-signal.js.map +1 -0
  116. package/dist/server/common/test/app-bootstrap.helper.d.ts +11 -3
  117. package/dist/server/common/test/app-bootstrap.helper.js +65 -18
  118. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
  119. package/dist/server/common/test/fake-bootstrap.server.d.ts +52 -0
  120. package/dist/server/common/test/fake-bootstrap.server.js +179 -0
  121. package/dist/server/common/test/fake-bootstrap.server.js.map +1 -0
  122. package/dist/server/common/test/fake-docker-engine.server.d.ts +71 -0
  123. package/dist/server/common/test/fake-docker-engine.server.js +370 -0
  124. package/dist/server/common/test/fake-docker-engine.server.js.map +1 -0
  125. package/dist/server/common/test/fake-proxmox.server.d.ts +49 -0
  126. package/dist/server/common/test/fake-proxmox.server.js +374 -0
  127. package/dist/server/common/test/fake-proxmox.server.js.map +1 -0
  128. package/dist/server/common/test/fake-ssh.server.d.ts +9 -0
  129. package/dist/server/common/test/fake-ssh.server.js +96 -0
  130. package/dist/server/common/test/fake-ssh.server.js.map +1 -0
  131. package/dist/server/common/test/remote-project.fixture.d.ts +32 -0
  132. package/dist/server/common/test/remote-project.fixture.js +328 -0
  133. package/dist/server/common/test/remote-project.fixture.js.map +1 -0
  134. package/dist/server/common/test/tls-fixture.d.ts +14 -0
  135. package/dist/server/common/test/tls-fixture.js +26 -0
  136. package/dist/server/common/test/tls-fixture.js.map +1 -0
  137. package/dist/server/common/test/two-instance.fixture.d.ts +48 -0
  138. package/dist/server/common/test/two-instance.fixture.js +269 -0
  139. package/dist/server/common/test/two-instance.fixture.js.map +1 -0
  140. package/dist/server/common/tls/certificate.d.ts +3 -0
  141. package/dist/server/common/tls/certificate.js +16 -0
  142. package/dist/server/common/tls/certificate.js.map +1 -0
  143. package/dist/server/common/validation/proxmox-name.d.ts +2 -0
  144. package/dist/server/common/validation/proxmox-name.js +10 -0
  145. package/dist/server/common/validation/proxmox-name.js.map +1 -0
  146. package/dist/server/common/validation/ssh-public-key.d.ts +12 -0
  147. package/dist/server/common/validation/ssh-public-key.js +82 -0
  148. package/dist/server/common/validation/ssh-public-key.js.map +1 -0
  149. package/dist/server/main.js +7 -7
  150. package/dist/server/main.js.map +1 -1
  151. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +1 -0
  152. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
  153. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +1 -0
  154. package/dist/server/modules/agents/agents.module.js +8 -1
  155. package/dist/server/modules/agents/agents.module.js.map +1 -1
  156. package/dist/server/modules/agents/controllers/agents.controller.d.ts +3 -1
  157. package/dist/server/modules/agents/controllers/agents.controller.js +11 -2
  158. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  159. package/dist/server/modules/cloud/cloud.module.js +14 -1
  160. package/dist/server/modules/cloud/cloud.module.js.map +1 -1
  161. package/dist/server/modules/cloud/controllers/instance-label.controller.d.ts +8 -0
  162. package/dist/server/modules/cloud/controllers/instance-label.controller.js +47 -0
  163. package/dist/server/modules/cloud/controllers/instance-label.controller.js.map +1 -0
  164. package/dist/server/modules/cloud/services/instance-label.service.d.ts +7 -0
  165. package/dist/server/modules/cloud/services/instance-label.service.js +36 -0
  166. package/dist/server/modules/cloud/services/instance-label.service.js.map +1 -0
  167. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +2 -0
  168. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
  169. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.d.ts +4 -1
  170. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js +15 -2
  171. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js.map +1 -1
  172. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +1 -0
  173. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +9 -3
  174. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
  175. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +43 -4
  176. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +15 -1
  177. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -1
  178. package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.d.ts +6 -0
  179. package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.js +88 -0
  180. package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.js.map +1 -0
  181. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +5 -1
  182. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +14 -5
  183. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
  184. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +7 -1
  185. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -1
  186. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +4 -1
  187. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +36 -6
  188. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  189. package/dist/server/modules/core/controllers/build-info.d.ts +6 -0
  190. package/dist/server/modules/core/controllers/build-info.js +29 -0
  191. package/dist/server/modules/core/controllers/build-info.js.map +1 -0
  192. package/dist/server/modules/core/controllers/docker-archive-journal.d.ts +26 -0
  193. package/dist/server/modules/core/controllers/docker-archive-journal.js +293 -0
  194. package/dist/server/modules/core/controllers/docker-archive-journal.js.map +1 -0
  195. package/dist/server/modules/core/controllers/docker-archive.d.ts +48 -0
  196. package/dist/server/modules/core/controllers/docker-archive.js +144 -0
  197. package/dist/server/modules/core/controllers/docker-archive.js.map +1 -0
  198. package/dist/server/modules/core/controllers/docker-engine.client.d.ts +82 -0
  199. package/dist/server/modules/core/controllers/docker-engine.client.js +355 -0
  200. package/dist/server/modules/core/controllers/docker-engine.client.js.map +1 -0
  201. package/dist/server/modules/core/controllers/docker-runtime.d.ts +144 -0
  202. package/dist/server/modules/core/controllers/docker-runtime.js +116 -0
  203. package/dist/server/modules/core/controllers/docker-runtime.js.map +1 -0
  204. package/dist/server/modules/core/controllers/docker-settings.d.ts +14 -0
  205. package/dist/server/modules/core/controllers/docker-settings.js +282 -0
  206. package/dist/server/modules/core/controllers/docker-settings.js.map +1 -0
  207. package/dist/server/modules/core/controllers/host-cli-versions.d.ts +1 -0
  208. package/dist/server/modules/core/controllers/host-cli-versions.js +27 -0
  209. package/dist/server/modules/core/controllers/host-cli-versions.js.map +1 -0
  210. package/dist/server/modules/core/controllers/host-stats.controller.d.ts +8 -0
  211. package/dist/server/modules/core/controllers/host-stats.controller.js +139 -0
  212. package/dist/server/modules/core/controllers/host-stats.controller.js.map +1 -0
  213. package/dist/server/modules/core/controllers/runtime.controller.d.ts +48 -13
  214. package/dist/server/modules/core/controllers/runtime.controller.js +37 -92
  215. package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
  216. package/dist/server/modules/core/core-common.module.js +6 -1
  217. package/dist/server/modules/core/core-common.module.js.map +1 -1
  218. package/dist/server/modules/core/models/host-stats.model.d.ts +12 -0
  219. package/dist/server/modules/{orchestrator/sync/dtos/overview.dto.js → core/models/host-stats.model.js} +1 -1
  220. package/dist/server/modules/core/models/host-stats.model.js.map +1 -0
  221. package/dist/server/modules/e2ee/services/device-revocation-history.d.ts +5 -0
  222. package/dist/server/modules/e2ee/services/device-revocation-history.js +37 -0
  223. package/dist/server/modules/e2ee/services/device-revocation-history.js.map +1 -0
  224. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +8 -2
  225. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -1
  226. package/dist/server/modules/epic-time/epic-time.module.js +10 -1
  227. package/dist/server/modules/epic-time/epic-time.module.js.map +1 -1
  228. package/dist/server/modules/epic-time/services/agent-time-accounting.service.d.ts +3 -1
  229. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js +21 -8
  230. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js.map +1 -1
  231. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.d.ts +3 -1
  232. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js +8 -2
  233. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js.map +1 -1
  234. package/dist/server/modules/epic-time/services/epic-time.service.d.ts +3 -1
  235. package/dist/server/modules/epic-time/services/epic-time.service.js +8 -2
  236. package/dist/server/modules/epic-time/services/epic-time.service.js.map +1 -1
  237. package/dist/server/modules/epic-time/services/epic-time.store.d.ts +26 -2
  238. package/dist/server/modules/epic-time/services/epic-time.store.js +122 -23
  239. package/dist/server/modules/epic-time/services/epic-time.store.js.map +1 -1
  240. package/dist/server/modules/epics/controllers/epic-comments.controller.js +1 -1
  241. package/dist/server/modules/epics/controllers/epic-comments.controller.js.map +1 -1
  242. package/dist/server/modules/epics/epics.module.js +4 -0
  243. package/dist/server/modules/epics/epics.module.js.map +1 -1
  244. package/dist/server/modules/epics/services/epic-relation-target-resolver.js +2 -1
  245. package/dist/server/modules/epics/services/epic-relation-target-resolver.js.map +1 -1
  246. package/dist/server/modules/epics/services/epic-relations.service.d.ts +4 -1
  247. package/dist/server/modules/epics/services/epic-relations.service.js +24 -3
  248. package/dist/server/modules/epics/services/epic-relations.service.js.map +1 -1
  249. package/dist/server/modules/epics/services/epics.service.d.ts +13 -1
  250. package/dist/server/modules/epics/services/epics.service.js +124 -18
  251. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  252. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js +3 -3
  253. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
  254. package/dist/server/modules/events/catalog/agent.created.d.ts +4 -4
  255. package/dist/server/modules/events/catalog/agent.deleted.d.ts +2 -2
  256. package/dist/server/modules/events/catalog/agent.message.sent.d.ts +40 -40
  257. package/dist/server/modules/events/catalog/broadcast-registry.js +28 -8
  258. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  259. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.d.ts +4 -4
  260. package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +6 -6
  261. package/dist/server/modules/events/catalog/epic.comment.created.d.ts +2 -2
  262. package/dist/server/modules/events/catalog/epic.created.d.ts +2 -2
  263. package/dist/server/modules/events/catalog/epic.deleted.d.ts +2 -2
  264. package/dist/server/modules/events/catalog/epic.updated.d.ts +25 -25
  265. package/dist/server/modules/events/catalog/guest.registered.d.ts +2 -2
  266. package/dist/server/modules/events/catalog/guest.unregistered.d.ts +4 -4
  267. package/dist/server/modules/events/catalog/index.d.ts +239 -194
  268. package/dist/server/modules/events/catalog/index.js +9 -1
  269. package/dist/server/modules/events/catalog/index.js.map +1 -1
  270. package/dist/server/modules/events/catalog/integration.connection.created.d.ts +4 -4
  271. package/dist/server/modules/events/catalog/integration.connection.deleted.d.ts +2 -2
  272. package/dist/server/modules/events/catalog/integration.connection.legacy.d.ts +10 -10
  273. package/dist/server/modules/events/catalog/integration.connection.updated.d.ts +4 -4
  274. package/dist/server/modules/events/catalog/remote.binding.changed.d.ts +24 -0
  275. package/dist/server/modules/events/catalog/remote.binding.changed.js +17 -0
  276. package/dist/server/modules/events/catalog/remote.binding.changed.js.map +1 -0
  277. package/dist/server/modules/events/catalog/remote.project.synced.d.ts +27 -0
  278. package/dist/server/modules/events/catalog/remote.project.synced.js +18 -0
  279. package/dist/server/modules/events/catalog/remote.project.synced.js.map +1 -0
  280. package/dist/server/modules/events/catalog/review.comment.created.d.ts +16 -16
  281. package/dist/server/modules/events/catalog/review.comment.deleted.d.ts +2 -2
  282. package/dist/server/modules/events/catalog/review.comment.resolved.d.ts +2 -2
  283. package/dist/server/modules/events/catalog/review.comment.updated.d.ts +4 -4
  284. package/dist/server/modules/events/catalog/review.created.d.ts +16 -16
  285. package/dist/server/modules/events/catalog/review.updated.d.ts +16 -16
  286. package/dist/server/modules/events/catalog/scheduled-epic.executed.d.ts +12 -12
  287. package/dist/server/modules/events/catalog/session.activity.changed.d.ts +2 -2
  288. package/dist/server/modules/events/catalog/session.recommendation.d.ts +4 -4
  289. package/dist/server/modules/events/catalog/session.restored.d.ts +2 -2
  290. package/dist/server/modules/events/catalog/session.started.d.ts +2 -2
  291. package/dist/server/modules/events/catalog/session.starting.d.ts +2 -2
  292. package/dist/server/modules/events/catalog/session.stopped.d.ts +4 -4
  293. package/dist/server/modules/events/catalog/session.stopped.js +1 -0
  294. package/dist/server/modules/events/catalog/session.stopped.js.map +1 -1
  295. package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +2 -2
  296. package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +4 -4
  297. package/dist/server/modules/events/catalog/terminal.watcher.triggered.d.ts +2 -2
  298. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js +9 -0
  299. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js.map +1 -1
  300. package/dist/server/modules/file-sync/file-sync-ignores.store.d.ts +10 -0
  301. package/dist/server/modules/file-sync/file-sync-ignores.store.js +74 -0
  302. package/dist/server/modules/file-sync/file-sync-ignores.store.js.map +1 -0
  303. package/dist/server/modules/file-sync/file-sync-managed-exclusions.store.d.ts +12 -0
  304. package/dist/server/modules/file-sync/file-sync-managed-exclusions.store.js +81 -0
  305. package/dist/server/modules/file-sync/file-sync-managed-exclusions.store.js.map +1 -0
  306. package/dist/server/modules/file-sync/file-sync-paths.d.ts +10 -0
  307. package/dist/server/modules/file-sync/file-sync-paths.js +26 -0
  308. package/dist/server/modules/file-sync/file-sync-paths.js.map +1 -0
  309. package/dist/server/modules/file-sync/file-sync.controller.d.ts +14 -0
  310. package/dist/server/modules/file-sync/file-sync.controller.js +64 -0
  311. package/dist/server/modules/file-sync/file-sync.controller.js.map +1 -0
  312. package/dist/server/modules/file-sync/file-sync.dto.d.ts +175 -0
  313. package/dist/server/modules/file-sync/file-sync.dto.js +96 -0
  314. package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -0
  315. package/dist/server/modules/file-sync/file-sync.module.d.ts +2 -0
  316. package/dist/server/modules/file-sync/file-sync.module.js +52 -0
  317. package/dist/server/modules/file-sync/file-sync.module.js.map +1 -0
  318. package/dist/server/modules/file-sync/file-sync.service.d.ts +86 -0
  319. package/dist/server/modules/file-sync/file-sync.service.js +325 -0
  320. package/dist/server/modules/file-sync/file-sync.service.js.map +1 -0
  321. package/dist/server/modules/file-sync/home-git-guard.service.d.ts +20 -0
  322. package/dist/server/modules/file-sync/home-git-guard.service.js +246 -0
  323. package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -0
  324. package/dist/server/modules/file-sync/host-sync.controller.d.ts +14 -0
  325. package/dist/server/modules/file-sync/host-sync.controller.js +139 -0
  326. package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -0
  327. package/dist/server/modules/file-sync/syncthing-launcher.d.ts +46 -0
  328. package/dist/server/modules/file-sync/syncthing-launcher.js +188 -0
  329. package/dist/server/modules/file-sync/syncthing-launcher.js.map +1 -0
  330. package/dist/server/modules/file-sync/syncthing-manager.service.d.ts +63 -0
  331. package/dist/server/modules/file-sync/syncthing-manager.service.js +403 -0
  332. package/dist/server/modules/file-sync/syncthing-manager.service.js.map +1 -0
  333. package/dist/server/modules/file-sync/syncthing-rest.client.d.ts +31 -0
  334. package/dist/server/modules/file-sync/syncthing-rest.client.js +85 -0
  335. package/dist/server/modules/file-sync/syncthing-rest.client.js.map +1 -0
  336. package/dist/server/modules/file-sync/syncthing-settings.store.d.ts +23 -0
  337. package/dist/server/modules/file-sync/syncthing-settings.store.js +62 -0
  338. package/dist/server/modules/file-sync/syncthing-settings.store.js.map +1 -0
  339. package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +46 -0
  340. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +139 -0
  341. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -0
  342. package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.d.ts +47 -0
  343. package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.js +158 -0
  344. package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.js.map +1 -0
  345. package/dist/server/modules/git/dtos/git.dto.d.ts +1 -1
  346. package/dist/server/modules/git/services/git.service.d.ts +9 -0
  347. package/dist/server/modules/git/services/git.service.js +44 -0
  348. package/dist/server/modules/git/services/git.service.js.map +1 -1
  349. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +128 -42
  350. package/dist/server/modules/hooks/dtos/hook-event.dto.js +15 -1
  351. package/dist/server/modules/hooks/dtos/hook-event.dto.js.map +1 -1
  352. package/dist/server/modules/hooks/services/hooks-config.service.js +29 -0
  353. package/dist/server/modules/hooks/services/hooks-config.service.js.map +1 -1
  354. package/dist/server/modules/hooks/services/hooks.service.d.ts +5 -1
  355. package/dist/server/modules/hooks/services/hooks.service.js +27 -5
  356. package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
  357. package/dist/server/modules/hooks/services/pending-ask-user-question.service.d.ts +2 -2
  358. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js +9 -12
  359. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js.map +1 -1
  360. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +76 -75
  361. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  362. package/dist/server/modules/mcp/mcp-full.module.js +2 -0
  363. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
  364. package/dist/server/modules/mcp/services/handlers/chat-context.d.ts +2 -0
  365. package/dist/server/modules/mcp/services/handlers/chat-tools.js +5 -0
  366. package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -1
  367. package/dist/server/modules/mcp/services/handlers/skill-tools.js +10 -0
  368. package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
  369. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +2 -1
  370. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +6 -2
  371. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
  372. package/dist/server/modules/mcp/services/mcp.service.js +6 -0
  373. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  374. package/dist/server/modules/mcp/services/utils/project-admission-error.d.ts +2 -0
  375. package/dist/server/modules/mcp/services/utils/project-admission-error.js +14 -0
  376. package/dist/server/modules/mcp/services/utils/project-admission-error.js.map +1 -0
  377. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +2 -0
  378. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
  379. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +1 -0
  380. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
  381. package/dist/server/modules/mcp/tool-descriptors/skill.metadata.js +2 -2
  382. package/dist/server/modules/mcp/tool-descriptors/skill.metadata.js.map +1 -1
  383. package/dist/server/modules/metrics/services/metrics.service.js +1 -1
  384. package/dist/server/modules/metrics/services/metrics.service.js.map +1 -1
  385. package/dist/server/modules/profiles/controllers/profiles.controller.d.ts +4 -1
  386. package/dist/server/modules/profiles/controllers/profiles.controller.js +14 -4
  387. package/dist/server/modules/profiles/controllers/profiles.controller.js.map +1 -1
  388. package/dist/server/modules/profiles/controllers/provider-configs.controller.js +1 -1
  389. package/dist/server/modules/profiles/controllers/provider-configs.controller.js.map +1 -1
  390. package/dist/server/modules/profiles/dto.d.ts +18 -18
  391. package/dist/server/modules/profiles/profiles.module.js +2 -1
  392. package/dist/server/modules/profiles/profiles.module.js.map +1 -1
  393. package/dist/server/modules/profiles/services/provider-configs.service.d.ts +5 -1
  394. package/dist/server/modules/profiles/services/provider-configs.service.js +15 -2
  395. package/dist/server/modules/profiles/services/provider-configs.service.js.map +1 -1
  396. package/dist/server/modules/project-communication/dtos/project-communication.types.d.ts +1 -1
  397. package/dist/server/modules/project-communication/project-communication.module.js +2 -1
  398. package/dist/server/modules/project-communication/project-communication.module.js.map +1 -1
  399. package/dist/server/modules/project-communication/project-communication.service.d.ts +4 -1
  400. package/dist/server/modules/project-communication/project-communication.service.js +22 -10
  401. package/dist/server/modules/project-communication/project-communication.service.js.map +1 -1
  402. package/dist/server/modules/projects/controllers/projects.controller.d.ts +5 -4
  403. package/dist/server/modules/projects/controllers/projects.controller.js +18 -46
  404. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  405. package/dist/server/modules/projects/dtos/export.dto.d.ts +12 -12
  406. package/dist/server/modules/projects/helpers/project-export.d.ts +1 -1
  407. package/dist/server/modules/projects/projects.module.js +3 -8
  408. package/dist/server/modules/projects/projects.module.js.map +1 -1
  409. package/dist/server/modules/projects/services/project-template-upgrade.service.d.ts +3 -1
  410. package/dist/server/modules/projects/services/project-template-upgrade.service.js +8 -2
  411. package/dist/server/modules/projects/services/project-template-upgrade.service.js.map +1 -1
  412. package/dist/server/modules/projects/services/projects.service.d.ts +4 -2
  413. package/dist/server/modules/projects/services/projects.service.js +14 -4
  414. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  415. package/dist/server/modules/projects/template-codec/codecs/watchers.codec.d.ts +1 -1
  416. package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +3 -1
  417. package/dist/server/modules/prompts/controllers/prompts.controller.js +8 -2
  418. package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -1
  419. package/dist/server/modules/prompts/prompts.module.js +2 -1
  420. package/dist/server/modules/prompts/prompts.module.js.map +1 -1
  421. package/dist/server/modules/provider-auth/provider-auth-adapters.d.ts +77 -0
  422. package/dist/server/modules/provider-auth/provider-auth-adapters.js +271 -0
  423. package/dist/server/modules/provider-auth/provider-auth-adapters.js.map +1 -0
  424. package/dist/server/modules/provider-auth/provider-auth-generator.service.d.ts +57 -0
  425. package/dist/server/modules/provider-auth/provider-auth-generator.service.js +367 -0
  426. package/dist/server/modules/provider-auth/provider-auth-generator.service.js.map +1 -0
  427. package/dist/server/modules/provider-auth/provider-auth-release.service.d.ts +14 -0
  428. package/dist/server/modules/provider-auth/provider-auth-release.service.js +40 -0
  429. package/dist/server/modules/provider-auth/provider-auth-release.service.js.map +1 -0
  430. package/dist/server/modules/provider-auth/provider-auth-vault.service.d.ts +38 -0
  431. package/dist/server/modules/provider-auth/provider-auth-vault.service.js +366 -0
  432. package/dist/server/modules/provider-auth/provider-auth-vault.service.js.map +1 -0
  433. package/dist/server/modules/provider-auth/provider-auth-watcher.service.d.ts +28 -0
  434. package/dist/server/modules/provider-auth/provider-auth-watcher.service.js +130 -0
  435. package/dist/server/modules/provider-auth/provider-auth-watcher.service.js.map +1 -0
  436. package/dist/server/modules/provider-auth/provider-auth-writeback.service.d.ts +30 -0
  437. package/dist/server/modules/provider-auth/provider-auth-writeback.service.js +156 -0
  438. package/dist/server/modules/provider-auth/provider-auth-writeback.service.js.map +1 -0
  439. package/dist/server/modules/provider-auth/provider-auth.controller.d.ts +27 -0
  440. package/dist/server/modules/provider-auth/provider-auth.controller.js +176 -0
  441. package/dist/server/modules/provider-auth/provider-auth.controller.js.map +1 -0
  442. package/dist/server/modules/provider-auth/provider-auth.dto.d.ts +88 -0
  443. package/dist/server/modules/provider-auth/provider-auth.dto.js +63 -0
  444. package/dist/server/modules/provider-auth/provider-auth.dto.js.map +1 -0
  445. package/dist/server/modules/provider-auth/provider-auth.module.d.ts +2 -0
  446. package/dist/server/modules/provider-auth/provider-auth.module.js +50 -0
  447. package/dist/server/modules/provider-auth/provider-auth.module.js.map +1 -0
  448. package/dist/server/modules/providers/adapters/antigravity.adapter.d.ts +1 -0
  449. package/dist/server/modules/providers/adapters/antigravity.adapter.js +2 -0
  450. package/dist/server/modules/providers/adapters/antigravity.adapter.js.map +1 -1
  451. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +1 -1
  452. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
  453. package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.d.ts +4 -1
  454. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +1 -1
  455. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
  456. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +5 -1
  457. package/dist/server/modules/providers/adapters/claude.adapter.js +6 -0
  458. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  459. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +5 -3
  460. package/dist/server/modules/providers/adapters/codex.adapter.js +26 -7
  461. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  462. package/dist/server/modules/providers/adapters/copilot.adapter.d.ts +1 -0
  463. package/dist/server/modules/providers/adapters/copilot.adapter.js +2 -0
  464. package/dist/server/modules/providers/adapters/copilot.adapter.js.map +1 -1
  465. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +1 -0
  466. package/dist/server/modules/providers/adapters/opencode.adapter.js +2 -0
  467. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
  468. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +2 -2
  469. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +5 -6
  470. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  471. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +2 -0
  472. package/dist/server/modules/providers/adapters/provider-cli-policy.d.ts +10 -0
  473. package/dist/server/modules/providers/adapters/provider-cli-policy.js +32 -0
  474. package/dist/server/modules/providers/adapters/provider-cli-policy.js.map +1 -0
  475. package/dist/server/modules/providers/controllers/provider-clis.controller.d.ts +16 -0
  476. package/dist/server/modules/providers/controllers/provider-clis.controller.js +68 -0
  477. package/dist/server/modules/providers/controllers/provider-clis.controller.js.map +1 -0
  478. package/dist/server/modules/providers/controllers/providers.controller.js +3 -0
  479. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  480. package/dist/server/modules/providers/providers.module.js +18 -0
  481. package/dist/server/modules/providers/providers.module.js.map +1 -1
  482. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js +8 -5
  483. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js.map +1 -1
  484. package/dist/server/modules/providers/services/provider-cli-install-state.service.d.ts +42 -0
  485. package/dist/server/modules/providers/services/provider-cli-install-state.service.js +78 -0
  486. package/dist/server/modules/providers/services/provider-cli-install-state.service.js.map +1 -0
  487. package/dist/server/modules/providers/services/provider-cli-installer.service.d.ts +51 -0
  488. package/dist/server/modules/providers/services/provider-cli-installer.service.js +404 -0
  489. package/dist/server/modules/providers/services/provider-cli-installer.service.js.map +1 -0
  490. package/dist/server/modules/providers/services/provider-cli-npm-lookup.service.d.ts +9 -0
  491. package/dist/server/modules/providers/services/provider-cli-npm-lookup.service.js +78 -0
  492. package/dist/server/modules/providers/services/provider-cli-npm-lookup.service.js.map +1 -0
  493. package/dist/server/modules/providers/services/provider-cli-state.module.d.ts +2 -0
  494. package/dist/server/modules/providers/services/provider-cli-state.module.js +29 -0
  495. package/dist/server/modules/providers/services/provider-cli-state.module.js.map +1 -0
  496. package/dist/server/modules/providers/services/provider-cli-versions.service.d.ts +26 -0
  497. package/dist/server/modules/providers/services/provider-cli-versions.service.js +144 -0
  498. package/dist/server/modules/providers/services/provider-cli-versions.service.js.map +1 -0
  499. package/dist/server/modules/providers/services/provider-discovery.service.d.ts +3 -1
  500. package/dist/server/modules/providers/services/provider-discovery.service.js +7 -3
  501. package/dist/server/modules/providers/services/provider-discovery.service.js.map +1 -1
  502. package/dist/server/modules/providers/services/provider-mcp-ensure.service.d.ts +9 -6
  503. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js +55 -13
  504. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js.map +1 -1
  505. package/dist/server/modules/providers/services/provider-plugins.service.js +7 -2
  506. package/dist/server/modules/providers/services/provider-plugins.service.js.map +1 -1
  507. package/dist/server/modules/providers/services/provider-project-sync.service.d.ts +3 -1
  508. package/dist/server/modules/providers/services/provider-project-sync.service.js +8 -2
  509. package/dist/server/modules/providers/services/provider-project-sync.service.js.map +1 -1
  510. package/dist/server/modules/providers/services/provider-state-manager.service.d.ts +3 -1
  511. package/dist/server/modules/providers/services/provider-state-manager.service.js +10 -3
  512. package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -1
  513. package/dist/server/modules/remotes/admission/project-write-admission.module.d.ts +2 -0
  514. package/dist/server/modules/{orchestrator/git/git.module.js → remotes/admission/project-write-admission.module.js} +11 -11
  515. package/dist/server/modules/remotes/admission/project-write-admission.module.js.map +1 -0
  516. package/dist/server/modules/remotes/admission/project-write-admission.service.d.ts +24 -0
  517. package/dist/server/modules/remotes/admission/project-write-admission.service.js +95 -0
  518. package/dist/server/modules/remotes/admission/project-write-admission.service.js.map +1 -0
  519. package/dist/server/modules/remotes/admission/testing/project-write-admission.stub.d.ts +3 -0
  520. package/dist/server/modules/remotes/admission/testing/project-write-admission.stub.js +13 -0
  521. package/dist/server/modules/remotes/admission/testing/project-write-admission.stub.js.map +1 -0
  522. package/dist/server/modules/remotes/auth/remote-api-key-management.service.d.ts +16 -0
  523. package/dist/server/modules/remotes/auth/remote-api-key-management.service.js +129 -0
  524. package/dist/server/modules/remotes/auth/remote-api-key-management.service.js.map +1 -0
  525. package/dist/server/modules/remotes/auth/remote-api-key.module.d.ts +2 -0
  526. package/dist/server/modules/{orchestrator/proxy/orchestrator-proxy.module.js → remotes/auth/remote-api-key.module.js} +11 -10
  527. package/dist/server/modules/remotes/auth/remote-api-key.module.js.map +1 -0
  528. package/dist/server/modules/remotes/auth/remote-api-key.service.d.ts +11 -0
  529. package/dist/server/modules/remotes/auth/remote-api-key.service.js +66 -0
  530. package/dist/server/modules/remotes/auth/remote-api-key.service.js.map +1 -0
  531. package/dist/server/modules/remotes/controllers/remote-api-key.controller.d.ts +7 -0
  532. package/dist/server/modules/remotes/controllers/remote-api-key.controller.js +61 -0
  533. package/dist/server/modules/remotes/controllers/remote-api-key.controller.js.map +1 -0
  534. package/dist/server/modules/remotes/controllers/remote-probe.controller.d.ts +8 -0
  535. package/dist/server/modules/remotes/controllers/remote-probe.controller.js +55 -0
  536. package/dist/server/modules/remotes/controllers/remote-probe.controller.js.map +1 -0
  537. package/dist/server/modules/remotes/controllers/remotes.controller.d.ts +24 -0
  538. package/dist/server/modules/remotes/controllers/remotes.controller.js +190 -0
  539. package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -0
  540. package/dist/server/modules/remotes/docker/docker-copy-back.d.ts +37 -0
  541. package/dist/server/modules/remotes/docker/docker-copy-back.dto.d.ts +37 -0
  542. package/dist/server/modules/remotes/docker/docker-copy-back.dto.js +15 -0
  543. package/dist/server/modules/remotes/docker/docker-copy-back.dto.js.map +1 -0
  544. package/dist/server/modules/remotes/docker/docker-copy-back.js +562 -0
  545. package/dist/server/modules/remotes/docker/docker-copy-back.js.map +1 -0
  546. package/dist/server/modules/remotes/docker/docker-data-groups.d.ts +20 -0
  547. package/dist/server/modules/remotes/docker/docker-data-groups.js +150 -0
  548. package/dist/server/modules/remotes/docker/docker-data-groups.js.map +1 -0
  549. package/dist/server/modules/remotes/docker/docker-handoff.d.ts +64 -0
  550. package/dist/server/modules/remotes/docker/docker-handoff.js +862 -0
  551. package/dist/server/modules/remotes/docker/docker-handoff.js.map +1 -0
  552. package/dist/server/modules/remotes/docker/docker-handoff.store.d.ts +121 -0
  553. package/dist/server/modules/remotes/docker/docker-handoff.store.js +83 -0
  554. package/dist/server/modules/remotes/docker/docker-handoff.store.js.map +1 -0
  555. package/dist/server/modules/remotes/docker/docker-plan-files.d.ts +4 -0
  556. package/dist/server/modules/remotes/docker/docker-plan-files.js +73 -0
  557. package/dist/server/modules/remotes/docker/docker-plan-files.js.map +1 -0
  558. package/dist/server/modules/remotes/docker/docker-plan-fit.d.ts +23 -0
  559. package/dist/server/modules/remotes/docker/docker-plan-fit.js +138 -0
  560. package/dist/server/modules/remotes/docker/docker-plan-fit.js.map +1 -0
  561. package/dist/server/modules/remotes/docker/docker-plan-policy.d.ts +8 -0
  562. package/dist/server/modules/remotes/docker/docker-plan-policy.js +234 -0
  563. package/dist/server/modules/remotes/docker/docker-plan-policy.js.map +1 -0
  564. package/dist/server/modules/remotes/docker/docker-plan-source.service.d.ts +42 -0
  565. package/dist/server/modules/remotes/docker/docker-plan-source.service.js +361 -0
  566. package/dist/server/modules/remotes/docker/docker-plan-source.service.js.map +1 -0
  567. package/dist/server/modules/remotes/docker/docker-plan.controller.d.ts +12 -0
  568. package/dist/server/modules/remotes/docker/docker-plan.controller.js +80 -0
  569. package/dist/server/modules/remotes/docker/docker-plan.controller.js.map +1 -0
  570. package/dist/server/modules/remotes/docker/docker-plan.dto.d.ts +195 -0
  571. package/dist/server/modules/remotes/docker/docker-plan.dto.js +39 -0
  572. package/dist/server/modules/remotes/docker/docker-plan.dto.js.map +1 -0
  573. package/dist/server/modules/remotes/docker/docker-plan.service.d.ts +21 -0
  574. package/dist/server/modules/remotes/docker/docker-plan.service.js +273 -0
  575. package/dist/server/modules/remotes/docker/docker-plan.service.js.map +1 -0
  576. package/dist/server/modules/remotes/dtos/remote-probe.dto.d.ts +49 -0
  577. package/dist/server/modules/remotes/dtos/remote-probe.dto.js +11 -0
  578. package/dist/server/modules/remotes/dtos/remote-probe.dto.js.map +1 -0
  579. package/dist/server/modules/remotes/dtos/remote.dto.d.ts +75 -0
  580. package/dist/server/modules/remotes/dtos/remote.dto.js +69 -0
  581. package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -0
  582. package/dist/server/modules/remotes/home-identity.d.ts +11 -0
  583. package/dist/server/modules/remotes/home-identity.js +59 -0
  584. package/dist/server/modules/remotes/home-identity.js.map +1 -0
  585. package/dist/server/modules/remotes/host/host-api-key-io.adapter.d.ts +9 -0
  586. package/dist/server/modules/remotes/host/host-api-key-io.adapter.js +30 -0
  587. package/dist/server/modules/remotes/host/host-api-key-io.adapter.js.map +1 -0
  588. package/dist/server/modules/remotes/host/host-api-key.controller.d.ts +7 -0
  589. package/dist/server/modules/remotes/host/host-api-key.controller.js +51 -0
  590. package/dist/server/modules/remotes/host/host-api-key.controller.js.map +1 -0
  591. package/dist/server/modules/remotes/host/host-api-key.module.d.ts +10 -0
  592. package/dist/server/modules/remotes/host/host-api-key.module.js +48 -0
  593. package/dist/server/modules/remotes/host/host-api-key.module.js.map +1 -0
  594. package/dist/server/modules/remotes/host/host-api-key.service.d.ts +17 -0
  595. package/dist/server/modules/remotes/host/host-api-key.service.js +135 -0
  596. package/dist/server/modules/remotes/host/host-api-key.service.js.map +1 -0
  597. package/dist/server/modules/remotes/host/host-api-key.setup.d.ts +2 -0
  598. package/dist/server/modules/remotes/host/host-api-key.setup.js +9 -0
  599. package/dist/server/modules/remotes/host/host-api-key.setup.js.map +1 -0
  600. package/dist/server/modules/remotes/host/host-docker-body.parser.d.ts +7 -0
  601. package/dist/server/modules/remotes/host/host-docker-body.parser.js +35 -0
  602. package/dist/server/modules/remotes/host/host-docker-body.parser.js.map +1 -0
  603. package/dist/server/modules/remotes/host/host-docker-recovery.service.d.ts +7 -0
  604. package/dist/server/modules/remotes/host/host-docker-recovery.service.js +41 -0
  605. package/dist/server/modules/remotes/host/host-docker-recovery.service.js.map +1 -0
  606. package/dist/server/modules/remotes/host/host-docker.controller.d.ts +48 -0
  607. package/dist/server/modules/remotes/host/host-docker.controller.js +394 -0
  608. package/dist/server/modules/remotes/host/host-docker.controller.js.map +1 -0
  609. package/dist/server/modules/remotes/host/host-docker.dto.d.ts +241 -0
  610. package/dist/server/modules/remotes/host/host-docker.dto.js +92 -0
  611. package/dist/server/modules/remotes/host/host-docker.dto.js.map +1 -0
  612. package/dist/server/modules/remotes/host/host-docker.service.d.ts +47 -0
  613. package/dist/server/modules/remotes/host/host-docker.service.js +491 -0
  614. package/dist/server/modules/remotes/host/host-docker.service.js.map +1 -0
  615. package/dist/server/modules/remotes/host/host-env-override-report.d.ts +44 -0
  616. package/dist/server/modules/remotes/host/host-env-override-report.js +73 -0
  617. package/dist/server/modules/remotes/host/host-env-override-report.js.map +1 -0
  618. package/dist/server/modules/remotes/host/host-helper.service.d.ts +59 -0
  619. package/dist/server/modules/remotes/host/host-helper.service.js +146 -0
  620. package/dist/server/modules/remotes/host/host-helper.service.js.map +1 -0
  621. package/dist/server/modules/remotes/host/host-provider-auth.controller.d.ts +9 -0
  622. package/dist/server/modules/remotes/host/host-provider-auth.controller.js +97 -0
  623. package/dist/server/modules/remotes/host/host-provider-auth.controller.js.map +1 -0
  624. package/dist/server/modules/remotes/host/host-provider-auth.service.d.ts +46 -0
  625. package/dist/server/modules/remotes/host/host-provider-auth.service.js +323 -0
  626. package/dist/server/modules/remotes/host/host-provider-auth.service.js.map +1 -0
  627. package/dist/server/modules/remotes/host/host-provider-cli-policy.d.ts +2 -0
  628. package/dist/server/modules/remotes/host/host-provider-cli-policy.js +11 -0
  629. package/dist/server/modules/remotes/host/host-provider-cli-policy.js.map +1 -0
  630. package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.d.ts +44 -0
  631. package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.js +74 -0
  632. package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.js.map +1 -0
  633. package/dist/server/modules/remotes/host/host-provider-cli-settings.service.d.ts +26 -0
  634. package/dist/server/modules/remotes/host/host-provider-cli-settings.service.js +145 -0
  635. package/dist/server/modules/remotes/host/host-provider-cli-settings.service.js.map +1 -0
  636. package/dist/server/modules/remotes/host/host-replica-body.parser.d.ts +8 -0
  637. package/dist/server/modules/remotes/host/host-replica-body.parser.js +44 -0
  638. package/dist/server/modules/remotes/host/host-replica-body.parser.js.map +1 -0
  639. package/dist/server/modules/remotes/host/host-skill-content.d.ts +4 -0
  640. package/dist/server/modules/remotes/host/host-skill-content.js +140 -0
  641. package/dist/server/modules/remotes/host/host-skill-content.js.map +1 -0
  642. package/dist/server/modules/remotes/host/host-skill-settings.controller.d.ts +17 -0
  643. package/dist/server/modules/remotes/host/host-skill-settings.controller.js +90 -0
  644. package/dist/server/modules/remotes/host/host-skill-settings.controller.js.map +1 -0
  645. package/dist/server/modules/remotes/host/host-skill-settings.service.d.ts +41 -0
  646. package/dist/server/modules/remotes/host/host-skill-settings.service.js +370 -0
  647. package/dist/server/modules/remotes/host/host-skill-settings.service.js.map +1 -0
  648. package/dist/server/modules/remotes/host/host-ssh-keys.controller.d.ts +8 -0
  649. package/dist/server/modules/remotes/host/host-ssh-keys.controller.js +43 -0
  650. package/dist/server/modules/remotes/host/host-ssh-keys.controller.js.map +1 -0
  651. package/dist/server/modules/remotes/host/host-ssh-keys.service.d.ts +13 -0
  652. package/dist/server/modules/remotes/host/host-ssh-keys.service.js +158 -0
  653. package/dist/server/modules/remotes/host/host-ssh-keys.service.js.map +1 -0
  654. package/dist/server/modules/remotes/host/host-tls-front.d.ts +8 -0
  655. package/dist/server/modules/remotes/host/host-tls-front.js +86 -0
  656. package/dist/server/modules/remotes/host/host-tls-front.js.map +1 -0
  657. package/dist/server/modules/remotes/host/host-tls.setup.d.ts +12 -0
  658. package/dist/server/modules/remotes/host/host-tls.setup.js +48 -0
  659. package/dist/server/modules/remotes/host/host-tls.setup.js.map +1 -0
  660. package/dist/server/modules/remotes/host/host-transcript-body.parser.d.ts +7 -0
  661. package/dist/server/modules/remotes/host/host-transcript-body.parser.js +35 -0
  662. package/dist/server/modules/remotes/host/host-transcript-body.parser.js.map +1 -0
  663. package/dist/server/modules/remotes/host/host-transcripts.controller.d.ts +10 -0
  664. package/dist/server/modules/remotes/host/host-transcripts.controller.js +82 -0
  665. package/dist/server/modules/remotes/host/host-transcripts.controller.js.map +1 -0
  666. package/dist/server/modules/remotes/host/host-update.controller.d.ts +21 -0
  667. package/dist/server/modules/remotes/host/host-update.controller.js +153 -0
  668. package/dist/server/modules/remotes/host/host-update.controller.js.map +1 -0
  669. package/dist/server/modules/remotes/host/host.controller.d.ts +19 -0
  670. package/dist/server/modules/remotes/host/host.controller.js +150 -0
  671. package/dist/server/modules/remotes/host/host.controller.js.map +1 -0
  672. package/dist/server/modules/remotes/host/host.dto.d.ts +28 -0
  673. package/dist/server/modules/remotes/host/host.dto.js +26 -0
  674. package/dist/server/modules/remotes/host/host.dto.js.map +1 -0
  675. package/dist/server/modules/remotes/host/host.service.d.ts +35 -0
  676. package/dist/server/modules/remotes/host/host.service.js +142 -0
  677. package/dist/server/modules/remotes/host/host.service.js.map +1 -0
  678. package/dist/server/modules/remotes/host/project-freeze.service.d.ts +15 -0
  679. package/dist/server/modules/remotes/host/project-freeze.service.js +73 -0
  680. package/dist/server/modules/remotes/host/project-freeze.service.js.map +1 -0
  681. package/dist/server/modules/remotes/host/provider-baseline.service.d.ts +19 -0
  682. package/dist/server/modules/remotes/host/provider-baseline.service.js +126 -0
  683. package/dist/server/modules/remotes/host/provider-baseline.service.js.map +1 -0
  684. package/dist/server/modules/remotes/host-api-key.d.ts +7 -0
  685. package/dist/server/modules/remotes/host-api-key.js +38 -0
  686. package/dist/server/modules/remotes/host-api-key.js.map +1 -0
  687. package/dist/server/modules/remotes/host-image.d.ts +3 -0
  688. package/dist/server/modules/remotes/host-image.js +49 -0
  689. package/dist/server/modules/remotes/host-image.js.map +1 -0
  690. package/dist/server/modules/remotes/host-install/host-install-block.d.ts +31 -0
  691. package/dist/server/modules/remotes/host-install/host-install-block.js +464 -0
  692. package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -0
  693. package/dist/server/modules/remotes/host-install/host-install.controller.d.ts +47 -0
  694. package/dist/server/modules/remotes/host-install/host-install.controller.js +173 -0
  695. package/dist/server/modules/remotes/host-install/host-install.controller.js.map +1 -0
  696. package/dist/server/modules/remotes/host-install/host-install.service.d.ts +29 -0
  697. package/dist/server/modules/remotes/host-install/host-install.service.js +233 -0
  698. package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -0
  699. package/dist/server/modules/remotes/host-install/project-size.service.d.ts +23 -0
  700. package/dist/server/modules/remotes/host-install/project-size.service.js +118 -0
  701. package/dist/server/modules/remotes/host-install/project-size.service.js.map +1 -0
  702. package/dist/server/modules/remotes/host-install/ssh-key.service.d.ts +31 -0
  703. package/dist/server/modules/remotes/host-install/ssh-key.service.js +188 -0
  704. package/dist/server/modules/remotes/host-install/ssh-key.service.js.map +1 -0
  705. package/dist/server/modules/remotes/host-install/ssh-runner.d.ts +41 -0
  706. package/dist/server/modules/remotes/host-install/ssh-runner.js +444 -0
  707. package/dist/server/modules/remotes/host-install/ssh-runner.js.map +1 -0
  708. package/dist/server/modules/remotes/operations/attach.operation.d.ts +64 -0
  709. package/dist/server/modules/remotes/operations/attach.operation.js +329 -0
  710. package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -0
  711. package/dist/server/modules/remotes/operations/claim.operation.d.ts +82 -0
  712. package/dist/server/modules/remotes/operations/claim.operation.js +413 -0
  713. package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -0
  714. package/dist/server/modules/remotes/operations/create-vm.operation.d.ts +43 -0
  715. package/dist/server/modules/remotes/operations/create-vm.operation.js +228 -0
  716. package/dist/server/modules/remotes/operations/create-vm.operation.js.map +1 -0
  717. package/dist/server/modules/remotes/operations/destroy-vm.operation.d.ts +34 -0
  718. package/dist/server/modules/remotes/operations/destroy-vm.operation.js +164 -0
  719. package/dist/server/modules/remotes/operations/destroy-vm.operation.js.map +1 -0
  720. package/dist/server/modules/remotes/operations/detach.operation.d.ts +61 -0
  721. package/dist/server/modules/remotes/operations/detach.operation.js +258 -0
  722. package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -0
  723. package/dist/server/modules/remotes/operations/docker-import-inventory.store.d.ts +169 -0
  724. package/dist/server/modules/remotes/operations/docker-import-inventory.store.js +142 -0
  725. package/dist/server/modules/remotes/operations/docker-import-inventory.store.js.map +1 -0
  726. package/dist/server/modules/remotes/operations/docker.step.d.ts +4 -0
  727. package/dist/server/modules/remotes/operations/docker.step.js +59 -0
  728. package/dist/server/modules/remotes/operations/docker.step.js.map +1 -0
  729. package/dist/server/modules/remotes/operations/file-sync-handoff.d.ts +42 -0
  730. package/dist/server/modules/remotes/operations/file-sync-handoff.js +288 -0
  731. package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -0
  732. package/dist/server/modules/remotes/operations/git-global-config.d.ts +9 -0
  733. package/dist/server/modules/remotes/operations/git-global-config.js +96 -0
  734. package/dist/server/modules/remotes/operations/git-global-config.js.map +1 -0
  735. package/dist/server/modules/remotes/operations/guarded-vm-destroy.d.ts +22 -0
  736. package/dist/server/modules/remotes/operations/guarded-vm-destroy.js +41 -0
  737. package/dist/server/modules/remotes/operations/guarded-vm-destroy.js.map +1 -0
  738. package/dist/server/modules/remotes/operations/install-host.operation.d.ts +59 -0
  739. package/dist/server/modules/remotes/operations/install-host.operation.js +367 -0
  740. package/dist/server/modules/remotes/operations/install-host.operation.js.map +1 -0
  741. package/dist/server/modules/remotes/operations/remote-host.client.d.ts +607 -0
  742. package/dist/server/modules/remotes/operations/remote-host.client.js +772 -0
  743. package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -0
  744. package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +407 -0
  745. package/dist/server/modules/remotes/operations/remote-operation.dto.js +117 -0
  746. package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -0
  747. package/dist/server/modules/remotes/operations/remote-operation.errors.d.ts +4 -0
  748. package/dist/server/modules/remotes/operations/remote-operation.errors.js +11 -0
  749. package/dist/server/modules/remotes/operations/remote-operation.errors.js.map +1 -0
  750. package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +46 -0
  751. package/dist/server/modules/remotes/operations/remote-operation.runner.js +400 -0
  752. package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -0
  753. package/dist/server/modules/remotes/operations/remote-operation.timing.d.ts +9 -0
  754. package/dist/server/modules/remotes/operations/remote-operation.timing.js +15 -0
  755. package/dist/server/modules/remotes/operations/remote-operation.timing.js.map +1 -0
  756. package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +29 -0
  757. package/dist/server/modules/remotes/operations/remote-operation.types.js +44 -0
  758. package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -0
  759. package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +17 -0
  760. package/dist/server/modules/remotes/operations/remote-operations.controller.js +153 -0
  761. package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -0
  762. package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +52 -0
  763. package/dist/server/modules/remotes/operations/remote-operations.service.js +465 -0
  764. package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -0
  765. package/dist/server/modules/remotes/operations/reset-vm.operation.d.ts +47 -0
  766. package/dist/server/modules/remotes/operations/reset-vm.operation.js +202 -0
  767. package/dist/server/modules/remotes/operations/reset-vm.operation.js.map +1 -0
  768. package/dist/server/modules/remotes/operations/syncthing-temp-cleanup.d.ts +2 -0
  769. package/dist/server/modules/remotes/operations/syncthing-temp-cleanup.js +68 -0
  770. package/dist/server/modules/remotes/operations/syncthing-temp-cleanup.js.map +1 -0
  771. package/dist/server/modules/remotes/operations/transcript-handoff.d.ts +11 -0
  772. package/dist/server/modules/remotes/operations/transcript-handoff.js +68 -0
  773. package/dist/server/modules/remotes/operations/transcript-handoff.js.map +1 -0
  774. package/dist/server/modules/remotes/operations/update-host.operation.d.ts +32 -0
  775. package/dist/server/modules/remotes/operations/update-host.operation.js +156 -0
  776. package/dist/server/modules/remotes/operations/update-host.operation.js.map +1 -0
  777. package/dist/server/modules/remotes/operations/update-logins.operation.d.ts +46 -0
  778. package/dist/server/modules/remotes/operations/update-logins.operation.js +296 -0
  779. package/dist/server/modules/remotes/operations/update-logins.operation.js.map +1 -0
  780. package/dist/server/modules/remotes/operations/vm-operations.controller.d.ts +12 -0
  781. package/dist/server/modules/remotes/operations/vm-operations.controller.js +90 -0
  782. package/dist/server/modules/remotes/operations/vm-operations.controller.js.map +1 -0
  783. package/dist/server/modules/remotes/operations/vm-operations.dto.d.ts +105 -0
  784. package/dist/server/modules/remotes/operations/vm-operations.dto.js +45 -0
  785. package/dist/server/modules/remotes/operations/vm-operations.dto.js.map +1 -0
  786. package/dist/server/modules/remotes/operations/vm-operations.service.d.ts +26 -0
  787. package/dist/server/modules/remotes/operations/vm-operations.service.js +265 -0
  788. package/dist/server/modules/remotes/operations/vm-operations.service.js.map +1 -0
  789. package/dist/server/modules/remotes/ports/remote-health.port.d.ts +28 -0
  790. package/dist/server/modules/remotes/ports/remote-health.port.js +5 -0
  791. package/dist/server/modules/remotes/ports/remote-health.port.js.map +1 -0
  792. package/dist/server/modules/remotes/ports/remote-mirror-sync.port.d.ts +4 -0
  793. package/dist/server/modules/remotes/ports/remote-mirror-sync.port.js +5 -0
  794. package/dist/server/modules/remotes/ports/remote-mirror-sync.port.js.map +1 -0
  795. package/dist/server/modules/remotes/remote-address.d.ts +3 -0
  796. package/dist/server/modules/remotes/remote-address.js +18 -0
  797. package/dist/server/modules/remotes/remote-address.js.map +1 -0
  798. package/dist/server/modules/remotes/remotes.module.d.ts +2 -0
  799. package/dist/server/modules/remotes/remotes.module.js +221 -0
  800. package/dist/server/modules/remotes/remotes.module.js.map +1 -0
  801. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.d.ts +27 -0
  802. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js +366 -0
  803. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js.map +1 -0
  804. package/dist/server/modules/remotes/replica/project-replica.applier.d.ts +18 -0
  805. package/dist/server/modules/remotes/replica/project-replica.applier.js +58 -0
  806. package/dist/server/modules/remotes/replica/project-replica.applier.js.map +1 -0
  807. package/dist/server/modules/remotes/replica/project-replica.builder.d.ts +23 -0
  808. package/dist/server/modules/remotes/replica/project-replica.builder.js +484 -0
  809. package/dist/server/modules/remotes/replica/project-replica.builder.js.map +1 -0
  810. package/dist/server/modules/remotes/services/home-skill-archive.d.ts +8 -0
  811. package/dist/server/modules/remotes/services/home-skill-archive.js +102 -0
  812. package/dist/server/modules/remotes/services/home-skill-archive.js.map +1 -0
  813. package/dist/server/modules/remotes/services/project-sessions-stopper.service.d.ts +6 -0
  814. package/dist/server/modules/remotes/services/project-sessions-stopper.service.js +41 -0
  815. package/dist/server/modules/remotes/services/project-sessions-stopper.service.js.map +1 -0
  816. package/dist/server/modules/remotes/services/remote-bindings.service.d.ts +16 -0
  817. package/dist/server/modules/remotes/services/remote-bindings.service.js +79 -0
  818. package/dist/server/modules/remotes/services/remote-bindings.service.js.map +1 -0
  819. package/dist/server/modules/remotes/services/remote-health.service.d.ts +43 -0
  820. package/dist/server/modules/remotes/services/remote-health.service.js +328 -0
  821. package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -0
  822. package/dist/server/modules/remotes/services/remote-probe.service.d.ts +23 -0
  823. package/dist/server/modules/remotes/services/remote-probe.service.js +173 -0
  824. package/dist/server/modules/remotes/services/remote-probe.service.js.map +1 -0
  825. package/dist/server/modules/remotes/services/remote-provider-cli-settings.service.d.ts +14 -0
  826. package/dist/server/modules/remotes/services/remote-provider-cli-settings.service.js +74 -0
  827. package/dist/server/modules/remotes/services/remote-provider-cli-settings.service.js.map +1 -0
  828. package/dist/server/modules/remotes/services/remote-proxy.service.d.ts +19 -0
  829. package/dist/server/modules/remotes/services/remote-proxy.service.js +171 -0
  830. package/dist/server/modules/remotes/services/remote-proxy.service.js.map +1 -0
  831. package/dist/server/modules/remotes/services/remote-skill-settings.service.d.ts +33 -0
  832. package/dist/server/modules/remotes/services/remote-skill-settings.service.js +244 -0
  833. package/dist/server/modules/remotes/services/remote-skill-settings.service.js.map +1 -0
  834. package/dist/server/modules/remotes/services/remotes.service.d.ts +24 -0
  835. package/dist/server/modules/remotes/services/remotes.service.js +126 -0
  836. package/dist/server/modules/remotes/services/remotes.service.js.map +1 -0
  837. package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +23 -0
  838. package/dist/server/modules/remotes/sync/remote-file-sync.service.js +269 -0
  839. package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -0
  840. package/dist/server/modules/remotes/sync/remote-live-sync.service.d.ts +40 -0
  841. package/dist/server/modules/remotes/sync/remote-live-sync.service.js +305 -0
  842. package/dist/server/modules/remotes/sync/remote-live-sync.service.js.map +1 -0
  843. package/dist/server/modules/remotes/time/project-time-settler.service.d.ts +28 -0
  844. package/dist/server/modules/remotes/time/project-time-settler.service.js +83 -0
  845. package/dist/server/modules/remotes/time/project-time-settler.service.js.map +1 -0
  846. package/dist/server/modules/remotes/transcripts/transcript-files.service.d.ts +25 -0
  847. package/dist/server/modules/remotes/transcripts/transcript-files.service.js +280 -0
  848. package/dist/server/modules/remotes/transcripts/transcript-files.service.js.map +1 -0
  849. package/dist/server/modules/remotes/transcripts/transcript-transfer.dto.d.ts +157 -0
  850. package/dist/server/modules/remotes/transcripts/transcript-transfer.dto.js +44 -0
  851. package/dist/server/modules/remotes/transcripts/transcript-transfer.dto.js.map +1 -0
  852. package/dist/server/modules/remotes/transport/remote-discovery.d.ts +6 -0
  853. package/dist/server/modules/remotes/transport/remote-discovery.js +60 -0
  854. package/dist/server/modules/remotes/transport/remote-discovery.js.map +1 -0
  855. package/dist/server/modules/remotes/transport/remote-proxy-tls.d.ts +21 -0
  856. package/dist/server/modules/remotes/transport/remote-proxy-tls.js +89 -0
  857. package/dist/server/modules/remotes/transport/remote-proxy-tls.js.map +1 -0
  858. package/dist/server/modules/remotes/transport/remote-tls.d.ts +26 -0
  859. package/dist/server/modules/remotes/transport/remote-tls.js +76 -0
  860. package/dist/server/modules/remotes/transport/remote-tls.js.map +1 -0
  861. package/dist/server/modules/reviews/dtos/review.dto.d.ts +21 -21
  862. package/dist/server/modules/reviews/reviews.module.js +9 -1
  863. package/dist/server/modules/reviews/reviews.module.js.map +1 -1
  864. package/dist/server/modules/reviews/services/review-suggestion-applier.service.d.ts +3 -1
  865. package/dist/server/modules/reviews/services/review-suggestion-applier.service.js +7 -2
  866. package/dist/server/modules/reviews/services/review-suggestion-applier.service.js.map +1 -1
  867. package/dist/server/modules/reviews/services/reviews.service.d.ts +3 -1
  868. package/dist/server/modules/reviews/services/reviews.service.js +13 -3
  869. package/dist/server/modules/reviews/services/reviews.service.js.map +1 -1
  870. package/dist/server/modules/scheduled-epics/scheduled-epics.module.js +2 -1
  871. package/dist/server/modules/scheduled-epics/scheduled-epics.module.js.map +1 -1
  872. package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.d.ts +5 -1
  873. package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.js +22 -2
  874. package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.js.map +1 -1
  875. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.d.ts +3 -1
  876. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js +12 -6
  877. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js.map +1 -1
  878. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +5 -0
  879. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +20 -1
  880. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -1
  881. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +3 -0
  882. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -1
  883. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +1 -0
  884. package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js +1 -0
  885. package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js.map +1 -1
  886. package/dist/server/modules/session-reader/builders/chunk-builder.d.ts +1 -0
  887. package/dist/server/modules/session-reader/builders/chunk-builder.js +17 -7
  888. package/dist/server/modules/session-reader/builders/chunk-builder.js.map +1 -1
  889. package/dist/server/modules/session-reader/builders/semantic-step-extractor.d.ts +1 -0
  890. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +14 -6
  891. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -1
  892. package/dist/server/modules/session-reader/builders/turn-builder.d.ts +1 -0
  893. package/dist/server/modules/session-reader/builders/turn-builder.js +8 -0
  894. package/dist/server/modules/session-reader/builders/turn-builder.js.map +1 -1
  895. package/dist/server/modules/session-reader/controllers/session-reader.controller.js +16 -10
  896. package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -1
  897. package/dist/server/modules/session-reader/controllers/transcript-json.interceptor.d.ts +5 -0
  898. package/dist/server/modules/session-reader/controllers/transcript-json.interceptor.js +24 -0
  899. package/dist/server/modules/session-reader/controllers/transcript-json.interceptor.js.map +1 -0
  900. package/dist/server/modules/session-reader/data/pricing.json +1632 -78
  901. package/dist/server/modules/session-reader/dtos/unified-message.types.d.ts +1 -0
  902. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.d.ts +3 -0
  903. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +28 -3
  904. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -1
  905. package/dist/server/modules/session-reader/parsers/claude-turn-evidence.d.ts +11 -0
  906. package/dist/server/modules/session-reader/parsers/claude-turn-evidence.js +50 -0
  907. package/dist/server/modules/session-reader/parsers/claude-turn-evidence.js.map +1 -0
  908. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +8 -2
  909. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -1
  910. package/dist/server/modules/session-reader/services/bounded-anchor-proof.d.ts +7 -0
  911. package/dist/server/modules/session-reader/services/bounded-anchor-proof.js +31 -2
  912. package/dist/server/modules/session-reader/services/bounded-anchor-proof.js.map +1 -1
  913. package/dist/server/modules/session-reader/services/cooperative-work.d.ts +4 -0
  914. package/dist/server/modules/session-reader/services/cooperative-work.js +44 -0
  915. package/dist/server/modules/session-reader/services/cooperative-work.js.map +1 -0
  916. package/dist/server/modules/session-reader/services/session-cache.service.d.ts +8 -2
  917. package/dist/server/modules/session-reader/services/session-cache.service.js +80 -21
  918. package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
  919. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +4 -0
  920. package/dist/server/modules/session-reader/services/session-reader.service.js +61 -15
  921. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  922. package/dist/server/modules/session-reader/services/subagent-locator.service.js +2 -1
  923. package/dist/server/modules/session-reader/services/subagent-locator.service.js.map +1 -1
  924. package/dist/server/modules/session-reader/services/transcript-cursor.d.ts +17 -3
  925. package/dist/server/modules/session-reader/services/transcript-cursor.js +71 -4
  926. package/dist/server/modules/session-reader/services/transcript-cursor.js.map +1 -1
  927. package/dist/server/modules/session-reader/services/transcript-json-stream.d.ts +2 -0
  928. package/dist/server/modules/session-reader/services/transcript-json-stream.js +81 -0
  929. package/dist/server/modules/session-reader/services/transcript-json-stream.js.map +1 -0
  930. package/dist/server/modules/session-reader/services/transcript-path-validator.service.d.ts +5 -1
  931. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +24 -8
  932. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -1
  933. package/dist/server/modules/session-reader/services/transcript-serialization.d.ts +1 -0
  934. package/dist/server/modules/session-reader/services/transcript-serialization.js +28 -5
  935. package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -1
  936. package/dist/server/modules/session-reader/services/transcript-turn-state.d.ts +4 -0
  937. package/dist/server/modules/session-reader/services/transcript-turn-state.js +20 -0
  938. package/dist/server/modules/session-reader/services/transcript-turn-state.js.map +1 -0
  939. package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +4 -1
  940. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +43 -18
  941. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  942. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +3 -1
  943. package/dist/server/modules/sessions/controllers/sessions.controller.js +7 -2
  944. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  945. package/dist/server/modules/sessions/dtos/active-session-info.dto.d.ts +1 -0
  946. package/dist/server/modules/sessions/dtos/active-session-info.dto.js.map +1 -1
  947. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +2 -2
  948. package/dist/server/modules/sessions/services/active-session-lookup.service.d.ts +1 -0
  949. package/dist/server/modules/sessions/services/active-session-lookup.service.js +14 -2
  950. package/dist/server/modules/sessions/services/active-session-lookup.service.js.map +1 -1
  951. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.d.ts +3 -1
  952. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js +8 -2
  953. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js.map +1 -1
  954. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +1 -0
  955. package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
  956. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  957. package/dist/server/modules/sessions/services/message-pool.types.d.ts +2 -0
  958. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +3 -0
  959. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
  960. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +3 -1
  961. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +9 -2
  962. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -1
  963. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +37 -17
  964. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +27 -9
  965. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  966. package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.d.ts +19 -0
  967. package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.js +26 -0
  968. package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.js.map +1 -0
  969. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +15 -17
  970. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  971. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +5 -1
  972. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +20 -2
  973. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  974. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.d.ts +3 -1
  975. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js +8 -2
  976. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js.map +1 -1
  977. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +15 -5
  978. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  979. package/dist/server/modules/sessions/services/sessions.service.d.ts +3 -1
  980. package/dist/server/modules/sessions/services/sessions.service.js +9 -3
  981. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  982. package/dist/server/modules/sessions/sessions-lifecycle.module.js +2 -1
  983. package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -1
  984. package/dist/server/modules/sessions/sessions.module.js +2 -0
  985. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  986. package/dist/server/modules/sessions/utils/claude-config.d.ts +2 -0
  987. package/dist/server/modules/sessions/utils/claude-config.js +38 -0
  988. package/dist/server/modules/sessions/utils/claude-config.js.map +1 -1
  989. package/dist/server/modules/sessions/utils/codex-config.d.ts +13 -0
  990. package/dist/server/modules/sessions/utils/codex-config.js +296 -0
  991. package/dist/server/modules/sessions/utils/codex-config.js.map +1 -0
  992. package/dist/server/modules/settings/controllers/settings.controller.d.ts +4 -1
  993. package/dist/server/modules/settings/controllers/settings.controller.js +31 -2
  994. package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -1
  995. package/dist/server/modules/settings/dtos/settings.dto.d.ts +64 -30
  996. package/dist/server/modules/settings/dtos/settings.dto.js +8 -0
  997. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  998. package/dist/server/modules/settings/local/delegates/core-settings.delegate.d.ts +1 -0
  999. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +28 -2
  1000. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
  1001. package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.d.ts +17 -0
  1002. package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js +87 -0
  1003. package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js.map +1 -0
  1004. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.d.ts +16 -1
  1005. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js +51 -20
  1006. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js.map +1 -1
  1007. package/dist/server/modules/settings/services/settings.constants.d.ts +3 -0
  1008. package/dist/server/modules/settings/services/settings.constants.js +4 -1
  1009. package/dist/server/modules/settings/services/settings.constants.js.map +1 -1
  1010. package/dist/server/modules/settings/services/settings.service.d.ts +11 -1
  1011. package/dist/server/modules/settings/services/settings.service.js +26 -1
  1012. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  1013. package/dist/server/modules/settings/settings.module.js +2 -1
  1014. package/dist/server/modules/settings/settings.module.js.map +1 -1
  1015. package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js +2 -1
  1016. package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js.map +1 -1
  1017. package/dist/server/modules/skills/adapters/local-skill-source.adapter.d.ts +1 -0
  1018. package/dist/server/modules/skills/adapters/local-skill-source.adapter.js +9 -1
  1019. package/dist/server/modules/skills/adapters/local-skill-source.adapter.js.map +1 -1
  1020. package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js +2 -1
  1021. package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js.map +1 -1
  1022. package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js +2 -1
  1023. package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js.map +1 -1
  1024. package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js +2 -1
  1025. package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js.map +1 -1
  1026. package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js +2 -1
  1027. package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js.map +1 -1
  1028. package/dist/server/modules/skills/dtos/skill.dto.d.ts +8 -8
  1029. package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +10 -4
  1030. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js +14 -7
  1031. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
  1032. package/dist/server/modules/skills/services/skills.service.d.ts +5 -0
  1033. package/dist/server/modules/skills/services/skills.service.js +39 -6
  1034. package/dist/server/modules/skills/services/skills.service.js.map +1 -1
  1035. package/dist/server/modules/skills/skills.module.js +2 -1
  1036. package/dist/server/modules/skills/skills.module.js.map +1 -1
  1037. package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +4 -1
  1038. package/dist/server/modules/statuses/controllers/statuses.controller.js +15 -2
  1039. package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -1
  1040. package/dist/server/modules/statuses/statuses.module.js +2 -1
  1041. package/dist/server/modules/statuses/statuses.module.js.map +1 -1
  1042. package/dist/server/modules/storage/db/schema.d.ts +1667 -1309
  1043. package/dist/server/modules/storage/db/schema.js +106 -63
  1044. package/dist/server/modules/storage/db/schema.js.map +1 -1
  1045. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +170 -3
  1046. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  1047. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +1 -0
  1048. package/dist/server/modules/storage/local/delegates/epic.delegate.js +13 -1
  1049. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  1050. package/dist/server/modules/storage/local/delegates/project-host.delegate.d.ts +10 -0
  1051. package/dist/server/modules/storage/local/delegates/project-host.delegate.js +102 -0
  1052. package/dist/server/modules/storage/local/delegates/project-host.delegate.js.map +1 -0
  1053. package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.d.ts +13 -0
  1054. package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.js +367 -0
  1055. package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.js.map +1 -0
  1056. package/dist/server/modules/storage/local/delegates/project-replica.delegate.d.ts +13 -0
  1057. package/dist/server/modules/storage/local/delegates/project-replica.delegate.js +759 -0
  1058. package/dist/server/modules/storage/local/delegates/project-replica.delegate.js.map +1 -0
  1059. package/dist/server/modules/storage/local/delegates/project.delegate.js +17 -3
  1060. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  1061. package/dist/server/modules/storage/local/delegates/provider-auth.delegate.d.ts +20 -0
  1062. package/dist/server/modules/storage/local/delegates/provider-auth.delegate.js +158 -0
  1063. package/dist/server/modules/storage/local/delegates/provider-auth.delegate.js.map +1 -0
  1064. package/dist/server/modules/storage/local/delegates/remote.delegate.d.ts +52 -0
  1065. package/dist/server/modules/storage/local/delegates/remote.delegate.js +442 -0
  1066. package/dist/server/modules/storage/local/delegates/remote.delegate.js.map +1 -0
  1067. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +3 -1
  1068. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +14 -1
  1069. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
  1070. package/dist/server/modules/storage/local/helpers/skill-source-switches.d.ts +3 -0
  1071. package/dist/server/modules/storage/local/helpers/skill-source-switches.js +16 -0
  1072. package/dist/server/modules/storage/local/helpers/skill-source-switches.js.map +1 -0
  1073. package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +8 -0
  1074. package/dist/server/modules/storage/local/helpers/storage-helpers.js +46 -0
  1075. package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -1
  1076. package/dist/server/modules/storage/local/integration-credential-cipher.d.ts +2 -0
  1077. package/dist/server/modules/storage/local/integration-credential-cipher.js +34 -13
  1078. package/dist/server/modules/storage/local/integration-credential-cipher.js.map +1 -1
  1079. package/dist/server/modules/storage/local/local-storage.service.d.ts +60 -3
  1080. package/dist/server/modules/storage/local/local-storage.service.js +140 -2
  1081. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  1082. package/dist/server/modules/storage/models/domain.models.d.ts +160 -0
  1083. package/dist/server/modules/storage/models/domain.models.js +22 -1
  1084. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  1085. package/dist/server/modules/subscribers/actions/action.interface.d.ts +1 -0
  1086. package/dist/server/modules/subscribers/actions/send-message.action.js +1 -0
  1087. package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
  1088. package/dist/server/modules/subscribers/dtos/subscriber.dto.d.ts +14 -14
  1089. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +3 -1
  1090. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +13 -2
  1091. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  1092. package/dist/server/modules/subscribers/services/subscribers.service.d.ts +3 -1
  1093. package/dist/server/modules/subscribers/services/subscribers.service.js +8 -3
  1094. package/dist/server/modules/subscribers/services/subscribers.service.js.map +1 -1
  1095. package/dist/server/modules/subscribers/subscribers.module.js +2 -0
  1096. package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
  1097. package/dist/server/modules/teams/services/teams.service.d.ts +3 -1
  1098. package/dist/server/modules/teams/services/teams.service.js +19 -2
  1099. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  1100. package/dist/server/modules/teams/storage/teams.store.d.ts +1 -0
  1101. package/dist/server/modules/teams/storage/teams.store.js +25 -3
  1102. package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
  1103. package/dist/server/modules/teams/teams.module.js +8 -1
  1104. package/dist/server/modules/teams/teams.module.js.map +1 -1
  1105. package/dist/server/modules/terminal/dtos/ws-envelope.dto.d.ts +10 -10
  1106. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +11 -6
  1107. package/dist/server/modules/terminal/gateways/terminal.gateway.js +37 -0
  1108. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  1109. package/dist/server/modules/terminal/services/guest-delivery.service.js.map +1 -1
  1110. package/dist/server/modules/terminal/services/human-prompt-state.service.d.ts +0 -4
  1111. package/dist/server/modules/terminal/services/human-prompt-state.service.js +9 -15
  1112. package/dist/server/modules/terminal/services/human-prompt-state.service.js.map +1 -1
  1113. package/dist/server/modules/terminal/services/session-turn-signals.d.ts +18 -0
  1114. package/dist/server/modules/terminal/services/session-turn-signals.js +6 -0
  1115. package/dist/server/modules/terminal/services/session-turn-signals.js.map +1 -0
  1116. package/dist/server/modules/terminal/services/standalone-terminal.service.d.ts +27 -0
  1117. package/dist/server/modules/terminal/services/standalone-terminal.service.js +130 -0
  1118. package/dist/server/modules/terminal/services/standalone-terminal.service.js.map +1 -0
  1119. package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +38 -5
  1120. package/dist/server/modules/terminal/services/terminal-activity.service.js +357 -40
  1121. package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -1
  1122. package/dist/server/modules/terminal/services/terminal-io/delivery.js +26 -4
  1123. package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -1
  1124. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +4 -1
  1125. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +15 -5
  1126. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
  1127. package/dist/server/modules/terminal/services/terminal-io/types.d.ts +1 -0
  1128. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js +1 -5
  1129. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js.map +1 -1
  1130. package/dist/server/modules/terminal/terminal-delivery.module.js +2 -1
  1131. package/dist/server/modules/terminal/terminal-delivery.module.js.map +1 -1
  1132. package/dist/server/modules/terminal/terminal.module.js +7 -0
  1133. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  1134. package/dist/server/modules/vm-providers/address-vm.provider.d.ts +15 -0
  1135. package/dist/server/modules/vm-providers/address-vm.provider.js +29 -0
  1136. package/dist/server/modules/vm-providers/address-vm.provider.js.map +1 -0
  1137. package/dist/server/modules/vm-providers/proxmox/connection-string.d.ts +31 -0
  1138. package/dist/server/modules/vm-providers/proxmox/connection-string.js +132 -0
  1139. package/dist/server/modules/vm-providers/proxmox/connection-string.js.map +1 -0
  1140. package/dist/server/modules/vm-providers/proxmox/setup-block.d.ts +25 -0
  1141. package/dist/server/modules/vm-providers/proxmox/setup-block.js +317 -0
  1142. package/dist/server/modules/vm-providers/proxmox/setup-block.js.map +1 -0
  1143. package/dist/server/modules/vm-providers/proxmox-vm-lifecycle.service.d.ts +39 -0
  1144. package/dist/server/modules/vm-providers/proxmox-vm-lifecycle.service.js +348 -0
  1145. package/dist/server/modules/vm-providers/proxmox-vm-lifecycle.service.js.map +1 -0
  1146. package/dist/server/modules/vm-providers/proxmox-vm.provider.d.ts +44 -0
  1147. package/dist/server/modules/vm-providers/proxmox-vm.provider.js +265 -0
  1148. package/dist/server/modules/vm-providers/proxmox-vm.provider.js.map +1 -0
  1149. package/dist/server/modules/vm-providers/vm-provider.dto.d.ts +87 -0
  1150. package/dist/server/modules/vm-providers/vm-provider.dto.js +51 -0
  1151. package/dist/server/modules/vm-providers/vm-provider.dto.js.map +1 -0
  1152. package/dist/server/modules/vm-providers/vm-provider.port.d.ts +15 -0
  1153. package/dist/server/modules/{orchestrator/sync/dtos/task-merge.dto.js → vm-providers/vm-provider.port.js} +1 -1
  1154. package/dist/server/modules/vm-providers/vm-provider.port.js.map +1 -0
  1155. package/dist/server/modules/vm-providers/vm-providers.controller.d.ts +26 -0
  1156. package/dist/server/modules/vm-providers/vm-providers.controller.js +124 -0
  1157. package/dist/server/modules/vm-providers/vm-providers.controller.js.map +1 -0
  1158. package/dist/server/modules/vm-providers/vm-providers.module.d.ts +2 -0
  1159. package/dist/server/modules/vm-providers/vm-providers.module.js +36 -0
  1160. package/dist/server/modules/vm-providers/vm-providers.module.js.map +1 -0
  1161. package/dist/server/modules/vm-providers/vm-providers.service.d.ts +46 -0
  1162. package/dist/server/modules/vm-providers/vm-providers.service.js +97 -0
  1163. package/dist/server/modules/vm-providers/vm-providers.service.js.map +1 -0
  1164. package/dist/server/modules/watchers/dtos/watcher.dto.d.ts +8 -8
  1165. package/dist/server/modules/watchers/services/watchers.service.d.ts +3 -1
  1166. package/dist/server/modules/watchers/services/watchers.service.js +12 -2
  1167. package/dist/server/modules/watchers/services/watchers.service.js.map +1 -1
  1168. package/dist/server/modules/watchers/watchers.module.js +2 -0
  1169. package/dist/server/modules/watchers/watchers.module.js.map +1 -1
  1170. package/dist/server/modules/workspaces/services/workspaces.service.d.ts +5 -1
  1171. package/dist/server/modules/workspaces/services/workspaces.service.js +28 -3
  1172. package/dist/server/modules/workspaces/services/workspaces.service.js.map +1 -1
  1173. package/dist/server/modules/workspaces/workspaces.module.js +2 -1
  1174. package/dist/server/modules/workspaces/workspaces.module.js.map +1 -1
  1175. package/dist/server/templates/teams-dev.json +22 -21
  1176. package/dist/server/test-setup-node.js +10 -1
  1177. package/dist/server/test-setup-node.js.map +1 -1
  1178. package/dist/server/tsconfig.tsbuildinfo +1 -1
  1179. package/dist/server/ui/assets/{ExternalRichEditor-hN7WihF_.js → ExternalRichEditor-DtNvrV0F.js} +24 -24
  1180. package/dist/server/ui/assets/ReviewDetailPage-DJzEoM0x.js +6 -0
  1181. package/dist/server/ui/assets/ReviewsPage-z2O8MNEw.js +6 -0
  1182. package/dist/server/ui/assets/index-CC4P3V8L.js +994 -0
  1183. package/dist/server/ui/assets/index-LsJe1ZTS.css +32 -0
  1184. package/dist/server/ui/assets/useReviewSubscription-B7AdJBO2.js +69 -0
  1185. package/dist/server/ui/index.html +6 -4
  1186. package/dist/templates/teams-dev.json +22 -21
  1187. package/package.json +21 -3
  1188. package/dist/server/app.main.module.d.ts +0 -4
  1189. package/dist/server/app.main.module.js +0 -120
  1190. package/dist/server/app.main.module.js.map +0 -1
  1191. package/dist/server/app.normal.module.d.ts +0 -4
  1192. package/dist/server/app.normal.module.js +0 -108
  1193. package/dist/server/app.normal.module.js.map +0 -1
  1194. package/dist/server/common/config/container-scope.js.map +0 -1
  1195. package/dist/server/modules/core/core-main-health.module.d.ts +0 -2
  1196. package/dist/server/modules/core/core-main-health.module.js +0 -32
  1197. package/dist/server/modules/core/core-main-health.module.js.map +0 -1
  1198. package/dist/server/modules/core/services/main-readiness-checker.service.d.ts +0 -14
  1199. package/dist/server/modules/core/services/main-readiness-checker.service.js +0 -85
  1200. package/dist/server/modules/core/services/main-readiness-checker.service.js.map +0 -1
  1201. package/dist/server/modules/orchestrator/docker/docker.module.d.ts +0 -2
  1202. package/dist/server/modules/orchestrator/docker/docker.module.js +0 -25
  1203. package/dist/server/modules/orchestrator/docker/docker.module.js.map +0 -1
  1204. package/dist/server/modules/orchestrator/docker/index.d.ts +0 -3
  1205. package/dist/server/modules/orchestrator/docker/index.js +0 -20
  1206. package/dist/server/modules/orchestrator/docker/index.js.map +0 -1
  1207. package/dist/server/modules/orchestrator/docker/services/docker.service.d.ts +0 -82
  1208. package/dist/server/modules/orchestrator/docker/services/docker.service.js +0 -629
  1209. package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +0 -1
  1210. package/dist/server/modules/orchestrator/docker/services/seed-preparation.service.d.ts +0 -16
  1211. package/dist/server/modules/orchestrator/docker/services/seed-preparation.service.js +0 -231
  1212. package/dist/server/modules/orchestrator/docker/services/seed-preparation.service.js.map +0 -1
  1213. package/dist/server/modules/orchestrator/docker/services/worktree-mount-discovery.service.d.ts +0 -20
  1214. package/dist/server/modules/orchestrator/docker/services/worktree-mount-discovery.service.js +0 -192
  1215. package/dist/server/modules/orchestrator/docker/services/worktree-mount-discovery.service.js.map +0 -1
  1216. package/dist/server/modules/orchestrator/git/controllers/git.controller.d.ts +0 -10
  1217. package/dist/server/modules/orchestrator/git/controllers/git.controller.js +0 -77
  1218. package/dist/server/modules/orchestrator/git/controllers/git.controller.js.map +0 -1
  1219. package/dist/server/modules/orchestrator/git/git.module.d.ts +0 -2
  1220. package/dist/server/modules/orchestrator/git/git.module.js.map +0 -1
  1221. package/dist/server/modules/orchestrator/git/index.d.ts +0 -3
  1222. package/dist/server/modules/orchestrator/git/index.js +0 -20
  1223. package/dist/server/modules/orchestrator/git/index.js.map +0 -1
  1224. package/dist/server/modules/orchestrator/git/services/git-worktree.service.d.ts +0 -91
  1225. package/dist/server/modules/orchestrator/git/services/git-worktree.service.js +0 -524
  1226. package/dist/server/modules/orchestrator/git/services/git-worktree.service.js.map +0 -1
  1227. package/dist/server/modules/orchestrator/index.d.ts +0 -6
  1228. package/dist/server/modules/orchestrator/index.js +0 -23
  1229. package/dist/server/modules/orchestrator/index.js.map +0 -1
  1230. package/dist/server/modules/orchestrator/orchestrator-storage/db/index.d.ts +0 -1
  1231. package/dist/server/modules/orchestrator/orchestrator-storage/db/index.js +0 -18
  1232. package/dist/server/modules/orchestrator/orchestrator-storage/db/index.js.map +0 -1
  1233. package/dist/server/modules/orchestrator/orchestrator-storage/db/orchestrator.provider.d.ts +0 -5
  1234. package/dist/server/modules/orchestrator/orchestrator-storage/db/orchestrator.provider.js +0 -10
  1235. package/dist/server/modules/orchestrator/orchestrator-storage/db/orchestrator.provider.js.map +0 -1
  1236. package/dist/server/modules/orchestrator/orchestrator-storage/index.d.ts +0 -2
  1237. package/dist/server/modules/orchestrator/orchestrator-storage/index.js +0 -19
  1238. package/dist/server/modules/orchestrator/orchestrator-storage/index.js.map +0 -1
  1239. package/dist/server/modules/orchestrator/orchestrator-storage/orchestrator-storage.module.d.ts +0 -2
  1240. package/dist/server/modules/orchestrator/orchestrator-storage/orchestrator-storage.module.js +0 -23
  1241. package/dist/server/modules/orchestrator/orchestrator-storage/orchestrator-storage.module.js.map +0 -1
  1242. package/dist/server/modules/orchestrator/proxy/index.d.ts +0 -2
  1243. package/dist/server/modules/orchestrator/proxy/index.js +0 -19
  1244. package/dist/server/modules/orchestrator/proxy/index.js.map +0 -1
  1245. package/dist/server/modules/orchestrator/proxy/orchestrator-proxy.module.d.ts +0 -2
  1246. package/dist/server/modules/orchestrator/proxy/orchestrator-proxy.module.js.map +0 -1
  1247. package/dist/server/modules/orchestrator/proxy/services/orchestrator-proxy.service.d.ts +0 -18
  1248. package/dist/server/modules/orchestrator/proxy/services/orchestrator-proxy.service.js +0 -194
  1249. package/dist/server/modules/orchestrator/proxy/services/orchestrator-proxy.service.js.map +0 -1
  1250. package/dist/server/modules/orchestrator/sync/controllers/overview.controller.d.ts +0 -9
  1251. package/dist/server/modules/orchestrator/sync/controllers/overview.controller.js +0 -67
  1252. package/dist/server/modules/orchestrator/sync/controllers/overview.controller.js.map +0 -1
  1253. package/dist/server/modules/orchestrator/sync/dtos/overview.dto.d.ts +0 -52
  1254. package/dist/server/modules/orchestrator/sync/dtos/overview.dto.js.map +0 -1
  1255. package/dist/server/modules/orchestrator/sync/dtos/task-merge.dto.d.ts +0 -5
  1256. package/dist/server/modules/orchestrator/sync/dtos/task-merge.dto.js.map +0 -1
  1257. package/dist/server/modules/orchestrator/sync/events/task-merge.events.d.ts +0 -4
  1258. package/dist/server/modules/orchestrator/sync/events/task-merge.events.js +0 -5
  1259. package/dist/server/modules/orchestrator/sync/events/task-merge.events.js.map +0 -1
  1260. package/dist/server/modules/orchestrator/sync/index.d.ts +0 -7
  1261. package/dist/server/modules/orchestrator/sync/index.js +0 -24
  1262. package/dist/server/modules/orchestrator/sync/index.js.map +0 -1
  1263. package/dist/server/modules/orchestrator/sync/services/lazy-fetch.service.d.ts +0 -31
  1264. package/dist/server/modules/orchestrator/sync/services/lazy-fetch.service.js +0 -413
  1265. package/dist/server/modules/orchestrator/sync/services/lazy-fetch.service.js.map +0 -1
  1266. package/dist/server/modules/orchestrator/sync/services/task-merge.service.d.ts +0 -42
  1267. package/dist/server/modules/orchestrator/sync/services/task-merge.service.js +0 -698
  1268. package/dist/server/modules/orchestrator/sync/services/task-merge.service.js.map +0 -1
  1269. package/dist/server/modules/orchestrator/sync/sync.module.d.ts +0 -2
  1270. package/dist/server/modules/orchestrator/sync/sync.module.js +0 -36
  1271. package/dist/server/modules/orchestrator/sync/sync.module.js.map +0 -1
  1272. package/dist/server/modules/orchestrator/ui/app/lib/worktrees.d.ts +0 -134
  1273. package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js +0 -334
  1274. package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js.map +0 -1
  1275. package/dist/server/modules/orchestrator/ui/app/orchestrator-app.d.ts +0 -18
  1276. package/dist/server/modules/orchestrator/ui/app/orchestrator-app.js +0 -890
  1277. package/dist/server/modules/orchestrator/ui/app/orchestrator-app.js.map +0 -1
  1278. package/dist/server/modules/orchestrator/worktrees/controllers/templates.controller.d.ts +0 -15
  1279. package/dist/server/modules/orchestrator/worktrees/controllers/templates.controller.js +0 -85
  1280. package/dist/server/modules/orchestrator/worktrees/controllers/templates.controller.js.map +0 -1
  1281. package/dist/server/modules/orchestrator/worktrees/controllers/worktrees.controller.d.ts +0 -34
  1282. package/dist/server/modules/orchestrator/worktrees/controllers/worktrees.controller.js +0 -326
  1283. package/dist/server/modules/orchestrator/worktrees/controllers/worktrees.controller.js.map +0 -1
  1284. package/dist/server/modules/orchestrator/worktrees/dtos/worktree.dto.d.ts +0 -122
  1285. package/dist/server/modules/orchestrator/worktrees/dtos/worktree.dto.js +0 -57
  1286. package/dist/server/modules/orchestrator/worktrees/dtos/worktree.dto.js.map +0 -1
  1287. package/dist/server/modules/orchestrator/worktrees/events/worktree.events.d.ts +0 -4
  1288. package/dist/server/modules/orchestrator/worktrees/events/worktree.events.js +0 -5
  1289. package/dist/server/modules/orchestrator/worktrees/events/worktree.events.js.map +0 -1
  1290. package/dist/server/modules/orchestrator/worktrees/index.d.ts +0 -7
  1291. package/dist/server/modules/orchestrator/worktrees/index.js +0 -24
  1292. package/dist/server/modules/orchestrator/worktrees/index.js.map +0 -1
  1293. package/dist/server/modules/orchestrator/worktrees/local-worktrees.store.d.ts +0 -18
  1294. package/dist/server/modules/orchestrator/worktrees/local-worktrees.store.js +0 -199
  1295. package/dist/server/modules/orchestrator/worktrees/local-worktrees.store.js.map +0 -1
  1296. package/dist/server/modules/orchestrator/worktrees/runtime/container-runtime.d.ts +0 -17
  1297. package/dist/server/modules/orchestrator/worktrees/runtime/container-runtime.js +0 -59
  1298. package/dist/server/modules/orchestrator/worktrees/runtime/container-runtime.js.map +0 -1
  1299. package/dist/server/modules/orchestrator/worktrees/runtime/process-runtime.d.ts +0 -38
  1300. package/dist/server/modules/orchestrator/worktrees/runtime/process-runtime.js +0 -296
  1301. package/dist/server/modules/orchestrator/worktrees/runtime/process-runtime.js.map +0 -1
  1302. package/dist/server/modules/orchestrator/worktrees/runtime/worktree-runtime.d.ts +0 -15
  1303. package/dist/server/modules/orchestrator/worktrees/runtime/worktree-runtime.js +0 -3
  1304. package/dist/server/modules/orchestrator/worktrees/runtime/worktree-runtime.js.map +0 -1
  1305. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.d.ts +0 -89
  1306. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js +0 -1274
  1307. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js.map +0 -1
  1308. package/dist/server/modules/orchestrator/worktrees/worktree-validation.d.ts +0 -4
  1309. package/dist/server/modules/orchestrator/worktrees/worktree-validation.js +0 -43
  1310. package/dist/server/modules/orchestrator/worktrees/worktree-validation.js.map +0 -1
  1311. package/dist/server/modules/orchestrator/worktrees/worktrees.module.d.ts +0 -2
  1312. package/dist/server/modules/orchestrator/worktrees/worktrees.module.js +0 -50
  1313. package/dist/server/modules/orchestrator/worktrees/worktrees.module.js.map +0 -1
  1314. package/dist/server/modules/orchestrator/worktrees/worktrees.store.d.ts +0 -38
  1315. package/dist/server/modules/orchestrator/worktrees/worktrees.store.js +0 -5
  1316. package/dist/server/modules/orchestrator/worktrees/worktrees.store.js.map +0 -1
  1317. package/dist/server/modules/projects/services/main-project-bootstrap.service.d.ts +0 -11
  1318. package/dist/server/modules/projects/services/main-project-bootstrap.service.js +0 -81
  1319. package/dist/server/modules/projects/services/main-project-bootstrap.service.js.map +0 -1
  1320. package/dist/server/ui/assets/ReviewDetailPage-1rhwlpY0.js +0 -1
  1321. package/dist/server/ui/assets/ReviewsPage-CzwQnlGJ.js +0 -6
  1322. package/dist/server/ui/assets/index--XE2vc98.css +0 -32
  1323. package/dist/server/ui/assets/index-BDSngJhg.js +0 -1197
  1324. package/dist/server/ui/assets/useReviewSubscription-DdxeJTmK.js +0 -69
package/dist/cli.js CHANGED
@@ -15,6 +15,9 @@ const { homedir, platform } = require('os');
15
15
  const { spawn, execSync, execFileSync } = require('child_process');
16
16
  const { pathToFileURL } = require('url');
17
17
  const { InteractiveCLI } = require('./lib/interactive-cli');
18
+ const { runHostInstallCommand } = require('./lib/host-install');
19
+ const { runHostApiKeyReset } = require('./lib/host-api-key');
20
+ const { QUEUE_NAME, runExclusive } = require('./lib/exclusive-run');
18
21
  const readline = require('readline');
19
22
 
20
23
  // Resolve @devchain/shared across packed (dist/node_modules) and workspace (packages/shared
@@ -94,38 +97,6 @@ function isNewerVersion(latest, current) {
94
97
  return false;
95
98
  }
96
99
 
97
- // ── Host helpers (delegated to @devchain/shared) ──────────────────────────────
98
-
99
- async function _getHostResolver() {
100
- const { HostResolver } = await import(resolveSharedModuleSpecifier());
101
- return HostResolver;
102
- }
103
-
104
- async function resolveDevchainApiBaseUrlForRestart({
105
- readPidFileFn = readPidFile,
106
- isProcessRunningFn = isProcessRunning,
107
- } = {}) {
108
- const pidData = readPidFileFn();
109
- if (!pidData || !Number.isFinite(Number(pidData.pid)) || !Number.isFinite(Number(pidData.port))) {
110
- throw new Error(
111
- 'Image was rebuilt, but Devchain is not running. Start container mode first, then retry with --restart.',
112
- );
113
- }
114
-
115
- const pid = Number(pidData.pid);
116
- const port = Number(pidData.port);
117
- if (!isProcessRunningFn(pid)) {
118
- throw new Error(
119
- 'Image was rebuilt, but Devchain is not running. Start container mode first, then retry with --restart.',
120
- );
121
- }
122
-
123
- const HostResolver = await _getHostResolver();
124
- return HostResolver.buildInternalBaseUrl({ host: pidData.host || '127.0.0.1', port });
125
- }
126
-
127
- // ── End host helpers ──────────────────────────────────────────────────────────
128
-
129
100
  function getChangelogBetweenVersions(changelog, fromVersion, toVersion) {
130
101
  if (!changelog || typeof changelog !== 'object') return [];
131
102
 
@@ -159,49 +130,6 @@ function getChangelogBetweenVersions(changelog, fromVersion, toVersion) {
159
130
 
160
131
  return changes;
161
132
  }
162
-
163
- function normalizeCliArgv(argv) {
164
- const rawArgs = argv.slice(2);
165
- const hasContainerFlag = rawArgs.includes('--container');
166
- if (!hasContainerFlag) {
167
- return argv;
168
- }
169
-
170
- const knownCommands = new Set(['start', 'stop', 'help']);
171
- const hasKnownCommand = rawArgs.some((arg) => knownCommands.has(arg));
172
- if (hasKnownCommand) {
173
- return argv;
174
- }
175
-
176
- const passthrough = rawArgs.filter((arg) => arg !== '--container');
177
- return [argv[0], argv[1], 'start', '--container', ...passthrough];
178
- }
179
-
180
- const WORKTREE_RUNTIME_TYPES = new Set(['container', 'process']);
181
-
182
- function normalizeWorktreeRuntimeType(rawRuntimeType) {
183
- if (typeof rawRuntimeType !== 'string') {
184
- return null;
185
- }
186
-
187
- const normalized = rawRuntimeType.trim().toLowerCase();
188
- if (!normalized) {
189
- return null;
190
- }
191
-
192
- if (!WORKTREE_RUNTIME_TYPES.has(normalized)) {
193
- throw new Error(
194
- `Invalid --worktree-runtime value "${rawRuntimeType}". Expected one of: container, process.`,
195
- );
196
- }
197
-
198
- return normalized;
199
- }
200
-
201
- function isWorktreeRuntimeModeEnabled(worktreeRuntimeType) {
202
- return worktreeRuntimeType === 'container' || worktreeRuntimeType === 'process';
203
- }
204
-
205
133
  /**
206
134
  * Detect which global package manager owns the devchain install.
207
135
  *
@@ -270,7 +198,16 @@ function detectGlobalPackageManager(packageName, {
270
198
  }
271
199
  }
272
200
 
201
+ // The parent process checks once; dev mode and --no-update-check skip it (a local
202
+ // build would otherwise be offered the public version).
203
+ function shouldCheckForUpdates(opts) {
204
+ return !opts.internalDetachedChild && !opts.dev && opts.updateCheck !== false;
205
+ }
206
+
273
207
  async function checkForUpdates(cli, askYesNoFn) {
208
+ // Without a terminal (a systemd service) nobody can answer, and an unattended
209
+ // update would move the installed version away from the one chosen for it.
210
+ if (!process.stdin.isTTY) return;
274
211
  try {
275
212
  const pkg = require('../package.json');
276
213
  const currentVersion = pkg.version;
@@ -368,392 +305,9 @@ function detectInstalledProviders() {
368
305
  return detected; // Map<name, absolutePath>
369
306
  }
370
307
 
371
- const ORCHESTRATOR_WORKTREE_IMAGE_REPO = 'ghcr.io/twitech-lab/devchain';
372
- const WORKTREE_IMAGE_BUILD_TIMEOUT_MS = 30 * 60 * 1000;
373
-
374
308
  function sleep(ms) {
375
309
  return new Promise((resolve) => setTimeout(resolve, ms));
376
310
  }
377
-
378
- function ensureDockerAvailable(execSyncFn = execSync) {
379
- try {
380
- execSyncFn('docker info --format "{{.ID}}"', {
381
- stdio: 'pipe',
382
- timeout: 10000,
383
- });
384
- } catch (_) {
385
- throw new Error('Container mode requires Docker. Please install Docker and try again.');
386
- }
387
- }
388
-
389
- function isDockerAvailable(execSyncFn = execSync) {
390
- try {
391
- ensureDockerAvailable(execSyncFn);
392
- return true;
393
- } catch (_) {
394
- return false;
395
- }
396
- }
397
-
398
- function deriveRepoRootFromGit(execSyncFn = execSync) {
399
- try {
400
- const gitTopLevel = execSyncFn('git rev-parse --show-toplevel', {
401
- encoding: 'utf8',
402
- stdio: 'pipe',
403
- timeout: 5000,
404
- }).trim();
405
-
406
- if (!gitTopLevel) {
407
- throw new Error('empty-git-top-level');
408
- }
409
-
410
- process.env.REPO_ROOT = gitTopLevel;
411
- return gitTopLevel;
412
- } catch (_) {
413
- throw new Error('Container mode must be run from within a git repository.');
414
- }
415
- }
416
-
417
- function isInsideGitRepo(execSyncFn = execSync) {
418
- const previousRepoRoot = process.env.REPO_ROOT;
419
- try {
420
- deriveRepoRootFromGit(execSyncFn);
421
- return true;
422
- } catch (_) {
423
- return false;
424
- } finally {
425
- if (typeof previousRepoRoot === 'string') {
426
- process.env.REPO_ROOT = previousRepoRoot;
427
- } else {
428
- delete process.env.REPO_ROOT;
429
- }
430
- }
431
- }
432
-
433
- function ensureProjectGitignoreIncludesDevchain(repoRoot) {
434
- const normalizedRepoRoot = typeof repoRoot === 'string' ? repoRoot.trim() : '';
435
- if (!normalizedRepoRoot || !existsSync(normalizedRepoRoot)) {
436
- return;
437
- }
438
-
439
- const gitignorePath = join(normalizedRepoRoot, '.gitignore');
440
-
441
- try {
442
- const existingContent = existsSync(gitignorePath) ? readFileSync(gitignorePath, 'utf8') : '';
443
- const alreadyIgnored = existingContent.split(/\r?\n/).some((line) => {
444
- const trimmed = line.trim();
445
- if (!trimmed || trimmed.startsWith('#')) {
446
- return false;
447
- }
448
- return (
449
- trimmed === '.devchain/' ||
450
- trimmed === '/.devchain/' ||
451
- trimmed === '.devchain' ||
452
- trimmed === '/.devchain'
453
- );
454
- });
455
-
456
- if (alreadyIgnored) {
457
- return;
458
- }
459
-
460
- const delimiter = existingContent.length > 0 && !existingContent.endsWith('\n') ? '\n' : '';
461
- writeFileSync(gitignorePath, `${existingContent}${delimiter}.devchain/\n`, 'utf8');
462
- } catch (error) {
463
- const message = error instanceof Error ? error.message : String(error);
464
- console.warn(`Warning: unable to update project .gitignore with .devchain/ (${message})`);
465
- }
466
- }
467
-
468
- function resolveRepoRootForDockerBuild(execSyncFn = execSync) {
469
- const repoRootFromEnv = typeof process.env.REPO_ROOT === 'string' ? process.env.REPO_ROOT.trim() : '';
470
- if (repoRootFromEnv) {
471
- return repoRootFromEnv;
472
- }
473
- try {
474
- return deriveRepoRootFromGit(execSyncFn);
475
- } catch (_) {
476
- return join(__dirname, '..');
477
- }
478
- }
479
-
480
- function shouldSkipHostPreflights() {
481
- // Parent process always runs host preflights (tmux, providers).
482
- // Worktree children bypass runHostPreflightChecks() entirely via worktreeRuntimeMode guard.
483
- return false;
484
- }
485
-
486
- function resolveWorktreeImageFromPackageVersion() {
487
- const pkg = require('../package.json');
488
- const version = typeof pkg?.version === 'string' ? pkg.version.trim() : '';
489
- if (!version) {
490
- throw new Error('Unable to resolve CLI package version for worktree image provisioning.');
491
- }
492
- return `${ORCHESTRATOR_WORKTREE_IMAGE_REPO}:${version}`;
493
- }
494
-
495
- function hasWorktreeImageLocally(imageRef, execSyncFn = execSync) {
496
- try {
497
- execSyncFn(`docker image inspect ${imageRef}`, {
498
- stdio: 'pipe',
499
- timeout: 15000,
500
- });
501
- return true;
502
- } catch (_) {
503
- return false;
504
- }
505
- }
506
-
507
- function buildWorktreeImage({
508
- imageRef = resolveWorktreeImageFromPackageVersion(),
509
- execSyncFn = execSync,
510
- } = {}) {
511
- const repoRoot = resolveRepoRootForDockerBuild(execSyncFn);
512
- const dockerfilePath = join(repoRoot, 'apps', 'local-app', 'Dockerfile');
513
- console.log(`Building worktree image: ${imageRef}`);
514
- try {
515
- execSyncFn(
516
- `docker build -f "${dockerfilePath}" -t ${imageRef} "${repoRoot}"`,
517
- {
518
- stdio: 'inherit',
519
- timeout: WORKTREE_IMAGE_BUILD_TIMEOUT_MS,
520
- },
521
- );
522
- console.log(`Built worktree image: ${imageRef}`);
523
- return imageRef;
524
- } catch (error) {
525
- const message = error instanceof Error ? error.message : String(error);
526
- throw new Error(
527
- [
528
- `Failed to build worktree image: ${imageRef}`,
529
- `Reason: ${message}`,
530
- `Try manually: docker build -f "${dockerfilePath}" -t ${imageRef} "${repoRoot}"`,
531
- ].join('\n'),
532
- );
533
- }
534
- }
535
-
536
- function normalizeWorktreeListPayload(payload) {
537
- if (Array.isArray(payload)) {
538
- return payload;
539
- }
540
- if (payload && typeof payload === 'object' && Array.isArray(payload.items)) {
541
- return payload.items;
542
- }
543
- throw new Error('Unexpected response shape from /api/worktrees.');
544
- }
545
-
546
- async function restartRunningWorktrees({
547
- baseUrl,
548
- fetchFn = fetch,
549
- } = {}) {
550
- if (!baseUrl || typeof baseUrl !== 'string') {
551
- throw new Error('A baseUrl is required to restart running worktrees.');
552
- }
553
-
554
- const listRes = await fetchFn(`${baseUrl}/api/worktrees`);
555
- if (!listRes.ok) {
556
- throw new Error(`Failed to list worktrees for restart (HTTP ${listRes.status}).`);
557
- }
558
-
559
- const worktrees = normalizeWorktreeListPayload(await listRes.json());
560
- const runningWorktrees = worktrees.filter(
561
- (worktree) => String(worktree?.status || '').toLowerCase() === 'running',
562
- );
563
-
564
- if (runningWorktrees.length === 0) {
565
- console.log('No running worktrees found. Build completed without restarts.');
566
- return 0;
567
- }
568
-
569
- console.log(`Restarting ${runningWorktrees.length} running worktree(s)...`);
570
- for (const worktree of runningWorktrees) {
571
- const worktreeId = typeof worktree?.id === 'string' ? worktree.id.trim() : '';
572
- const worktreeName =
573
- typeof worktree?.name === 'string' && worktree.name.trim()
574
- ? worktree.name.trim()
575
- : worktreeId || 'unknown';
576
-
577
- if (!worktreeId) {
578
- throw new Error('Cannot restart worktree without an id from /api/worktrees response.');
579
- }
580
-
581
- console.log(`Stopping worktree "${worktreeName}"...`);
582
- const stopRes = await fetchFn(`${baseUrl}/api/worktrees/${encodeURIComponent(worktreeId)}/stop`, {
583
- method: 'POST',
584
- });
585
- if (!stopRes.ok) {
586
- throw new Error(`Failed stopping worktree "${worktreeName}" (HTTP ${stopRes.status}).`);
587
- }
588
-
589
- console.log(`Starting worktree "${worktreeName}"...`);
590
- const startRes = await fetchFn(`${baseUrl}/api/worktrees/${encodeURIComponent(worktreeId)}/start`, {
591
- method: 'POST',
592
- });
593
- if (!startRes.ok) {
594
- throw new Error(`Failed starting worktree "${worktreeName}" (HTTP ${startRes.status}).`);
595
- }
596
- }
597
-
598
- console.log('Worktree restart complete.');
599
- return runningWorktrees.length;
600
- }
601
-
602
- async function ensureWorktreeImage({
603
- execSyncFn = execSync,
604
- onMissing = 'pull',
605
- } = {}) {
606
- const existingImageOverride =
607
- typeof process.env.ORCHESTRATOR_CONTAINER_IMAGE === 'string'
608
- ? process.env.ORCHESTRATOR_CONTAINER_IMAGE.trim()
609
- : '';
610
- if (existingImageOverride) {
611
- process.env.ORCHESTRATOR_CONTAINER_IMAGE = existingImageOverride;
612
- console.log(`Using worktree image override: ${existingImageOverride}`);
613
- return existingImageOverride;
614
- }
615
-
616
- const imageRef = resolveWorktreeImageFromPackageVersion();
617
-
618
- if (hasWorktreeImageLocally(imageRef, execSyncFn)) {
619
- console.log(`Using local worktree image: ${imageRef}`);
620
- } else if (onMissing === 'build') {
621
- console.log(`Local worktree image missing: ${imageRef}`);
622
- buildWorktreeImage({ imageRef, execSyncFn });
623
- } else if (onMissing === 'pull') {
624
- console.log(`Pulling worktree image: ${imageRef}`);
625
- try {
626
- execSyncFn(`docker pull ${imageRef}`, {
627
- stdio: 'inherit',
628
- timeout: 300000,
629
- });
630
- console.log(`Pulled worktree image: ${imageRef}`);
631
- } catch (error) {
632
- const message = error instanceof Error ? error.message : String(error);
633
- throw new Error(
634
- [
635
- `Failed to pull worktree image: ${imageRef}`,
636
- `Reason: ${message}`,
637
- `Try manually: docker pull ${imageRef}`,
638
- `Or build locally: docker build -t ${imageRef} -f apps/local-app/Dockerfile .`,
639
- ].join('\n'),
640
- );
641
- }
642
- } else {
643
- throw new Error(`Invalid ensureWorktreeImage onMissing strategy: ${onMissing}`);
644
- }
645
-
646
- process.env.ORCHESTRATOR_CONTAINER_IMAGE = imageRef;
647
- return imageRef;
648
- }
649
-
650
- function ensureWorktreeImageRefFromPackageVersion() {
651
- const existingImageOverride =
652
- typeof process.env.ORCHESTRATOR_CONTAINER_IMAGE === 'string'
653
- ? process.env.ORCHESTRATOR_CONTAINER_IMAGE.trim()
654
- : '';
655
- if (existingImageOverride) {
656
- process.env.ORCHESTRATOR_CONTAINER_IMAGE = existingImageOverride;
657
- return existingImageOverride;
658
- }
659
-
660
- const imageRef = resolveWorktreeImageFromPackageVersion();
661
- process.env.ORCHESTRATOR_CONTAINER_IMAGE = imageRef;
662
- return imageRef;
663
- }
664
-
665
- async function bootstrapContainerMode({
666
- execSyncFn = execSync,
667
- } = {}) {
668
- let repoRoot;
669
- try {
670
- repoRoot = deriveRepoRootFromGit(execSyncFn);
671
- } catch (_) {
672
- // Not inside a git repo — skip repo-specific setup, orchestration still works
673
- }
674
- if (repoRoot) {
675
- ensureProjectGitignoreIncludesDevchain(repoRoot);
676
- }
677
- ensureWorktreeImageRefFromPackageVersion();
678
- }
679
-
680
- function formatOrchestrationDetectionFailureReason({
681
- skippedByEnvNormal = false,
682
- dockerAvailable = false,
683
- insideGitRepo = false,
684
- } = {}) {
685
- if (skippedByEnvNormal) {
686
- return 'DEVCHAIN_MODE=normal override is active';
687
- }
688
-
689
- const missing = [];
690
- if (!dockerAvailable) {
691
- missing.push('Docker is unavailable');
692
- }
693
- if (!insideGitRepo) {
694
- missing.push('current directory is not inside a git repository');
695
- }
696
-
697
- if (missing.length === 0) {
698
- return 'orchestration prerequisites are not met';
699
- }
700
- if (missing.length === 1) {
701
- return missing[0];
702
- }
703
- return `${missing.slice(0, -1).join(', ')} and ${missing[missing.length - 1]}`;
704
- }
705
-
706
- async function resolveStartupOrchestration({
707
- forceContainer = false,
708
- env = process.env,
709
- execSyncFn = execSync,
710
- bootstrapContainerModeFn = bootstrapContainerMode,
711
- warnFn = (message) => console.warn(message),
712
- } = {}) {
713
- const modeOverride = typeof env.DEVCHAIN_MODE === 'string' ? env.DEVCHAIN_MODE.trim() : '';
714
- const skippedByEnvNormal = modeOverride.toLowerCase() === 'normal';
715
- if (skippedByEnvNormal) {
716
- if (forceContainer) {
717
- throw new Error(
718
- `--container requires orchestration, but ${formatOrchestrationDetectionFailureReason({ skippedByEnvNormal })}.`,
719
- );
720
- }
721
- return {
722
- enableOrchestration: false,
723
- skippedByEnvNormal,
724
- dockerAvailable: false,
725
- insideGitRepo: false,
726
- };
727
- }
728
-
729
- const dockerAvailable = isDockerAvailable(execSyncFn);
730
- const insideGitRepo = isInsideGitRepo(execSyncFn);
731
-
732
- if (!dockerAvailable && forceContainer) {
733
- throw new Error(
734
- `--container requires Docker, but ${formatOrchestrationDetectionFailureReason({ dockerAvailable, insideGitRepo })}.`,
735
- );
736
- }
737
-
738
- try {
739
- await bootstrapContainerModeFn({
740
- execSyncFn,
741
- });
742
- } catch (error) {
743
- // Bootstrap is best-effort (e.g. non-git directory); log but don't block orchestration
744
- const message = error instanceof Error ? error.message : String(error);
745
- warnFn(`Orchestration bootstrap note: ${message}`);
746
- }
747
-
748
- env.DEVCHAIN_MODE = 'main';
749
- return {
750
- enableOrchestration: true,
751
- skippedByEnvNormal: false,
752
- dockerAvailable,
753
- insideGitRepo,
754
- };
755
- }
756
-
757
311
  async function ensureProvidersInDb(baseUrl, detected, log) {
758
312
  try {
759
313
  const res = await fetch(`${baseUrl}/api/providers`);
@@ -793,6 +347,30 @@ async function ensureProvidersInDb(baseUrl, detected, log) {
793
347
 
794
348
  async function validateMcpForProviders(baseUrl, cli, opts, log, projectPath) {
795
349
  try {
350
+ // The ensure endpoint matches projectPath exactly against a stored project
351
+ // root, and a folder that is not a registered project can never be
352
+ // registered there — MCP is registered when a session launches or restores.
353
+ let effectiveProjectPath = projectPath;
354
+ if (projectPath) {
355
+ try {
356
+ const byPathRes = await fetchWithTimeout(
357
+ `${baseUrl}/api/projects/by-path?path=${encodeURIComponent(projectPath)}`,
358
+ {},
359
+ 2500,
360
+ );
361
+ if (byPathRes.ok) {
362
+ const project = await byPathRes.json();
363
+ // The stored rootPath avoids trailing-slash or normalization mismatches.
364
+ effectiveProjectPath = project?.rootPath ?? projectPath;
365
+ } else if (byPathRes.status === 404) {
366
+ log('info', 'Startup folder is not a registered project; skipping MCP validation (MCP is registered when a session launches)', { startupPath: projectPath });
367
+ return;
368
+ }
369
+ } catch {
370
+ // Lookup failed (network/timeout): proceed with the raw path as before.
371
+ }
372
+ }
373
+
796
374
  // Fetch all providers
797
375
  const res = await fetch(`${baseUrl}/api/providers`);
798
376
  if (!res.ok) {
@@ -820,7 +398,7 @@ async function validateMcpForProviders(baseUrl, cli, opts, log, projectPath) {
820
398
  const results = [];
821
399
  for (const provider of providers) {
822
400
  try {
823
- const body = projectPath ? JSON.stringify({ projectPath }) : JSON.stringify({});
401
+ const body = effectiveProjectPath ? JSON.stringify({ projectPath: effectiveProjectPath }) : JSON.stringify({});
824
402
  const ensureRes = await fetch(`${baseUrl}/api/providers/${provider.id}/mcp/ensure`, {
825
403
  method: 'POST',
826
404
  headers: { 'Content-Type': 'application/json' },
@@ -902,6 +480,8 @@ async function validateMcpForProviders(baseUrl, cli, opts, log, projectPath) {
902
480
  }
903
481
 
904
482
  function askYesNo(question, defaultYes = false) {
483
+ // End of input would read as Ctrl+D and exit; without a terminal take the default.
484
+ if (!process.stdin.isTTY) return Promise.resolve(defaultYes);
905
485
  return new Promise((resolve) => {
906
486
  const rl = readline.createInterface({
907
487
  input: process.stdin,
@@ -1028,6 +608,35 @@ function removePidFile() {
1028
608
  }
1029
609
  }
1030
610
 
611
+ // A claimed VM has the claim record; home never does.
612
+ function getMachineRole(env = process.env) {
613
+ const etcDir = env.DEVCHAIN_HOST_ETC_DIR || '/etc/devchain-host';
614
+ return existsSync(join(etcDir, 'claim.json')) ? 'remote VM' : 'home';
615
+ }
616
+
617
+ const SUDO_CHECK_TIMEOUT_MS = 5000;
618
+
619
+ /**
620
+ * Whether an agent can run `sudo` here without a person. `sudo -n` never
621
+ * prompts: it fails when a password would be needed.
622
+ */
623
+ function getSudoStatus({
624
+ platformName = platform(),
625
+ getuid = process.getuid,
626
+ execFileSyncFn = execFileSync,
627
+ } = {}) {
628
+ if (platformName === 'win32') return 'not available on Windows';
629
+ if (typeof getuid === 'function' && getuid() === 0) return 'yes (running as root)';
630
+ try {
631
+ execFileSyncFn('sudo', ['-n', 'true'], { stdio: 'ignore', timeout: SUDO_CHECK_TIMEOUT_MS });
632
+ return 'yes (no password)';
633
+ } catch (error) {
634
+ if (error && error.code === 'ENOENT') return 'not installed';
635
+ if (error && error.code === 'ETIMEDOUT') return 'unknown (sudo did not answer in 5 s)';
636
+ return 'needs a password';
637
+ }
638
+ }
639
+
1031
640
  function isProcessRunning(pid) {
1032
641
  try {
1033
642
  // Sending signal 0 checks if process exists without killing it
@@ -1120,7 +729,6 @@ function getTmuxErrorMessage(osType) {
1120
729
 
1121
730
  async function runHostPreflightChecks(
1122
731
  {
1123
- enableOrchestration,
1124
732
  opts,
1125
733
  cli,
1126
734
  log,
@@ -1135,17 +743,9 @@ async function runHostPreflightChecks(
1135
743
  platformFn = platform,
1136
744
  } = {},
1137
745
  ) {
1138
- const skipHostPreflights = shouldSkipHostPreflights(enableOrchestration);
1139
-
1140
746
  // Tmux preflight check
1141
747
  const skipTmuxCheck = process.env.DEVCHAIN_SKIP_TMUX_CHECK === '1';
1142
- if (skipHostPreflights) {
1143
- if (opts.foreground) {
1144
- log('info', 'Skipping tmux check in container mode', { skipReason: 'container_mode' });
1145
- } else {
1146
- cli.info('Skipping tmux check in container mode');
1147
- }
1148
- } else if (skipTmuxCheck) {
748
+ if (skipTmuxCheck) {
1149
749
  if (opts.foreground) {
1150
750
  log('info', 'Skipping tmux check (DEVCHAIN_SKIP_TMUX_CHECK=1)', { skipReason: 'env_var' });
1151
751
  } else {
@@ -1196,13 +796,7 @@ async function runHostPreflightChecks(
1196
796
  // Provider detection (Linux/macOS only)
1197
797
  const skipProviderCheck = process.env.DEVCHAIN_SKIP_PROVIDER_CHECK === '1';
1198
798
  const plat = platformFn();
1199
- if (skipHostPreflights) {
1200
- if (opts.foreground) {
1201
- log('info', 'Skipping provider check in container mode', { skipReason: 'container_mode' });
1202
- } else {
1203
- cli.info('Skipping provider check in container mode');
1204
- }
1205
- } else if (skipProviderCheck) {
799
+ if (skipProviderCheck) {
1206
800
  if (opts.foreground) {
1207
801
  log('info', 'Skipping provider check (DEVCHAIN_SKIP_PROVIDER_CHECK=1)', {
1208
802
  skipReason: 'env_var',
@@ -1270,16 +864,7 @@ async function runHostPreflightChecks(
1270
864
  }
1271
865
  }
1272
866
 
1273
- function getDevUiConfig(containerMode) {
1274
- if (containerMode) {
1275
- return {
1276
- script: 'dev:ui',
1277
- startMessage: 'Starting UI (dev mode)...',
1278
- logLabel: 'UI dev server',
1279
- url: 'http://127.0.0.1:5175',
1280
- };
1281
- }
1282
-
867
+ function getDevUiConfig() {
1283
868
  return {
1284
869
  script: 'dev:ui',
1285
870
  startMessage: 'Starting UI (dev mode)...',
@@ -1288,29 +873,15 @@ function getDevUiConfig(containerMode) {
1288
873
  };
1289
874
  }
1290
875
 
1291
- function applyContainerModeDefaults(containerMode, opts = {}, env = process.env) {
1292
- if (!containerMode) {
1293
- return;
1294
- }
1295
-
1296
- const hasExplicitPortEnv = typeof env.PORT === 'string' && env.PORT.trim() !== '';
1297
- if (!opts.port && !hasExplicitPortEnv) {
1298
- env.PORT = '3000';
1299
- }
1300
- }
1301
-
1302
- function getPreferredDevApiPort(optsPort, containerMode, env = process.env) {
876
+ function getPreferredDevApiPort(optsPort) {
1303
877
  if (optsPort) {
1304
878
  return Number(optsPort);
1305
879
  }
1306
- if (containerMode) {
1307
- return Number(env.PORT || 3000);
1308
- }
1309
880
  return 3000;
1310
881
  }
1311
882
 
1312
- function getDevModeSpawnConfig({ containerMode, port, env = process.env }) {
1313
- const ui = getDevUiConfig(containerMode);
883
+ function getDevModeSpawnConfig({ port, env = process.env }) {
884
+ const ui = getDevUiConfig();
1314
885
  return {
1315
886
  ui,
1316
887
  nest: {
@@ -1332,8 +903,7 @@ async function main(argv) {
1332
903
  program
1333
904
  .name('devchain')
1334
905
  .description('Devchain — Local-first AI agent orchestration')
1335
- .version(pkg.version)
1336
- .option('--container', 'Shorthand for "start --container"');
906
+ .version(pkg.version);
1337
907
 
1338
908
  const startCommand = program
1339
909
  .command('start [args...]')
@@ -1345,14 +915,6 @@ async function main(argv) {
1345
915
  .option('--no-open', 'Do not open a browser window')
1346
916
  .option('--db <path>', 'Path to database directory or file (overrides DB_PATH/DB_FILENAME)')
1347
917
  .option('--project <path>', 'Initial project root path; creates project if missing')
1348
- .option(
1349
- '--container',
1350
- 'Force orchestration startup (errors if Docker or git repository prerequisites are missing)'
1351
- )
1352
- .option(
1353
- '--worktree-runtime <type>',
1354
- '[internal] Worktree runtime context (container|process); bypasses singleton and interactive startup flows',
1355
- )
1356
918
  .option(
1357
919
  '--log-level <level>',
1358
920
  'Set log verbosity: error (errors only), warn, info, debug, or trace. ' +
@@ -1361,25 +923,11 @@ async function main(argv) {
1361
923
  )
1362
924
  .option('--dev', 'Development mode with hot reload (spawns nest --watch + vite)')
1363
925
  .option('--no-cloud', 'Disable Cloud and Notifications UI features for this run')
926
+ .option('--no-update-check', 'Do not check npm for a newer devchain at start')
1364
927
  .option('--internal-detached-child', '[internal] Marker for detached child process')
1365
928
  .action(async (rawArgs, opts) => {
1366
929
  const { HostResolver } = await import(resolveSharedModuleSpecifier());
1367
930
  const args = Array.isArray(rawArgs) ? [...rawArgs] : [];
1368
- const usesContainerSubcommand = args[0] === 'container';
1369
- if (usesContainerSubcommand) {
1370
- args.shift();
1371
- }
1372
- const forceContainer = Boolean(
1373
- opts.container || program.opts().container || usesContainerSubcommand,
1374
- );
1375
- let worktreeRuntimeType = null;
1376
- try {
1377
- worktreeRuntimeType = normalizeWorktreeRuntimeType(opts.worktreeRuntime);
1378
- } catch (error) {
1379
- console.error(error instanceof Error ? error.message : 'Invalid --worktree-runtime value.');
1380
- process.exit(1);
1381
- }
1382
- const worktreeRuntimeMode = isWorktreeRuntimeModeEnabled(worktreeRuntimeType);
1383
931
  // Cloud UI is on by default. Commander defaults opts.cloud to `true`
1384
932
  // and sets it to `false` only when --no-cloud is passed.
1385
933
  if (opts.cloud === false) {
@@ -1393,7 +941,7 @@ async function main(argv) {
1393
941
  }
1394
942
 
1395
943
  // Check if already running (skip for detached child - parent already checked)
1396
- if (!opts.internalDetachedChild && !worktreeRuntimeMode) {
944
+ if (!opts.internalDetachedChild) {
1397
945
  const existingPid = readPidFile();
1398
946
  if (existingPid && isProcessRunning(existingPid.pid)) {
1399
947
  console.error(`Devchain is already running (PID ${existingPid.pid}, port ${existingPid.port})`);
@@ -1409,19 +957,16 @@ async function main(argv) {
1409
957
 
1410
958
  // Normalize defaults for negatable options (Commander may leave undefined)
1411
959
  if (typeof opts.open === 'undefined') {
1412
- opts.open = worktreeRuntimeMode ? false : forceContainer ? false : true;
1413
- }
1414
- if (worktreeRuntimeMode) {
1415
- opts.open = false;
960
+ opts.open = true;
1416
961
  }
1417
962
  // Detached mode by default, unless foreground is explicitly requested
1418
963
  // Don't detach again if we're already the detached child process
1419
964
  const isDetachedChild = Boolean(opts.internalDetachedChild);
1420
- const shouldDetach = opts.foreground !== true && !isDetachedChild && !worktreeRuntimeMode;
965
+ const shouldDetach = opts.foreground !== true && !isDetachedChild;
1421
966
 
1422
967
  // Initialize interactive CLI (user-friendly output unless in foreground mode)
1423
968
  const cli = new InteractiveCLI({
1424
- interactive: !opts.foreground && !isDetachedChild && !worktreeRuntimeMode,
969
+ interactive: !opts.foreground && !isDetachedChild,
1425
970
  colors: true,
1426
971
  spinners: true
1427
972
  });
@@ -1431,69 +976,26 @@ async function main(argv) {
1431
976
  console.log(JSON.stringify(entry));
1432
977
  };
1433
978
 
1434
- let enableOrchestration = false;
1435
- if (worktreeRuntimeMode) {
1436
- enableOrchestration = worktreeRuntimeType === 'container';
1437
- } else {
1438
- try {
1439
- const orchestrationResolution = await resolveStartupOrchestration({
1440
- forceContainer,
1441
- env: process.env,
1442
- warnFn: (message) => {
1443
- if (opts.foreground) {
1444
- log('warn', message);
1445
- } else {
1446
- cli.warn(message);
1447
- }
1448
- },
1449
- });
1450
- enableOrchestration = orchestrationResolution.enableOrchestration;
1451
- } catch (error) {
1452
- console.error(
1453
- error instanceof Error
1454
- ? error.message
1455
- : 'Failed to resolve orchestration startup prerequisites.',
1456
- );
1457
- process.exit(1);
1458
- }
1459
- }
1460
-
1461
- applyContainerModeDefaults(enableOrchestration, opts, process.env);
1462
-
1463
- // Check for updates (parent process only, skip in dev mode)
1464
- if (!isDetachedChild && !opts.dev && !worktreeRuntimeMode) {
979
+ if (shouldCheckForUpdates(opts)) {
1465
980
  await checkForUpdates(cli, askYesNo);
1466
981
  }
1467
982
 
1468
983
  // Show startup banner (interactive mode only)
1469
- if (!opts.foreground && !worktreeRuntimeMode) {
984
+ if (!opts.foreground) {
1470
985
  cli.blank();
1471
986
  cli.info('Starting Devchain...');
1472
987
  cli.blank();
1473
988
  }
1474
989
 
1475
- if (!worktreeRuntimeMode) {
1476
- await runHostPreflightChecks({
1477
- enableOrchestration,
1478
- opts,
1479
- cli,
1480
- log,
1481
- isDetachedChild,
1482
- });
1483
- }
1484
-
1485
- const preferPort = getPreferredDevApiPort(opts.port, enableOrchestration, process.env);
990
+ await runHostPreflightChecks({
991
+ opts,
992
+ cli,
993
+ log,
994
+ isDetachedChild,
995
+ });
1486
996
 
1487
- // In worktree runtime mode, bind strictly to the requested port.
1488
- // getPort() silently picks a different port when the requested one is unavailable,
1489
- // which causes the parent orchestrator to talk to the wrong instance.
1490
- // Let NestJS fail fast with EADDRINUSE instead of silently rebinding.
1491
- let port;
1492
- if (worktreeRuntimeMode && preferPort) {
1493
- port = preferPort;
1494
- } else {
1495
- port = await getPort({ port: preferPort });
1496
- }
997
+ const preferPort = getPreferredDevApiPort(opts.port);
998
+ const port = await getPort({ port: preferPort });
1497
999
 
1498
1000
  // Resolve effective host before detach so child inherits normalized HOST env.
1499
1001
  // The --host flag also flows through childArgs (detach filter only strips --port
@@ -1508,12 +1010,13 @@ async function main(argv) {
1508
1010
  process.env.HOST = effectiveHost;
1509
1011
 
1510
1012
  // Security warning for non-loopback bind (before detach so parent terminal sees it)
1511
- if (!worktreeRuntimeMode && HostResolver.isNonLoopbackHost(effectiveHost)) {
1013
+ if (HostResolver.isNonLoopbackHost(effectiveHost)) {
1512
1014
  console.error('');
1513
- console.error(`⚠ DevChain is binding to ${effectiveHost}. There is no remote authentication`);
1514
- console.error(' boundary; the API, terminals, MCP, and project files are exposed');
1515
- console.error(' to anyone who can reach this address. Use only on a trusted');
1516
- console.error(' network, VPN, or behind firewall rules.');
1015
+ console.error(`⚠ DevChain is binding to ${effectiveHost}. This hand-started instance has`);
1016
+ console.error(' no caller authentication; the API, terminals, MCP, and project files');
1017
+ console.error(' are exposed to anyone who can reach this address. The VM API key');
1018
+ console.error(' protects claimed remote VMs, not a hand-started instance. Use only on');
1019
+ console.error(' a trusted network, VPN, or behind firewall rules.');
1517
1020
  if (opts.dev) {
1518
1021
  console.error('');
1519
1022
  console.error(' Note: --dev mode runs the UI on a separate Vite dev server bound to');
@@ -1626,7 +1129,6 @@ async function main(argv) {
1626
1129
 
1627
1130
  // Spawn NestJS in watch mode (detached to create process group)
1628
1131
  const devSpawnConfig = getDevModeSpawnConfig({
1629
- containerMode: enableOrchestration,
1630
1132
  port,
1631
1133
  env: process.env,
1632
1134
  });
@@ -1655,11 +1157,7 @@ async function main(argv) {
1655
1157
  cli.info(`API docs: ${displayUrl}/api/docs`);
1656
1158
 
1657
1159
  // Ensure provider rows exist
1658
- if (
1659
- !worktreeRuntimeMode
1660
- && opts.__providersDetected
1661
- && opts.__providersDetected.size > 0
1662
- ) {
1160
+ if (opts.__providersDetected && opts.__providersDetected.size > 0) {
1663
1161
  await ensureProvidersInDb(internalBaseUrl, opts.__providersDetected, log);
1664
1162
  }
1665
1163
 
@@ -1669,9 +1167,7 @@ async function main(argv) {
1669
1167
  : process.cwd();
1670
1168
 
1671
1169
  // Validate MCP for all providers
1672
- if (!worktreeRuntimeMode) {
1673
- await validateMcpForProviders(internalBaseUrl, cli, opts, log, startupPath);
1674
- }
1170
+ await validateMcpForProviders(internalBaseUrl, cli, opts, log, startupPath);
1675
1171
 
1676
1172
  // Note: Claude bypass prompt already handled before server start
1677
1173
 
@@ -1694,10 +1190,8 @@ async function main(argv) {
1694
1190
  cli.info(`API: ${displayUrl}`);
1695
1191
  cli.blank();
1696
1192
 
1697
- // Write PID file for top-level runtime only
1698
- if (!worktreeRuntimeMode) {
1699
- writePidFile(port, effectiveHost);
1700
- }
1193
+ // Write PID file for stop command
1194
+ writePidFile(port, effectiveHost);
1701
1195
 
1702
1196
  // Handle cleanup on exit - kill entire process groups, then wait for
1703
1197
  // children to actually exit before removing the PID file and exiting.
@@ -1734,9 +1228,7 @@ async function main(argv) {
1734
1228
  await waitWithTimeout(Promise.all([nestExited, viteExited]), SIGKILL_GRACE_MS);
1735
1229
  }
1736
1230
 
1737
- if (!worktreeRuntimeMode) {
1738
- removePidFile();
1739
- }
1231
+ removePidFile();
1740
1232
  process.exit(0);
1741
1233
  };
1742
1234
 
@@ -1805,11 +1297,7 @@ async function main(argv) {
1805
1297
  }
1806
1298
 
1807
1299
  // Ensure provider rows exist (idempotent) before opening UI
1808
- if (
1809
- !worktreeRuntimeMode
1810
- && opts.__providersDetected
1811
- && opts.__providersDetected.size > 0
1812
- ) {
1300
+ if (opts.__providersDetected && opts.__providersDetected.size > 0) {
1813
1301
  await ensureProvidersInDb(internalBaseUrl, opts.__providersDetected, log);
1814
1302
  }
1815
1303
 
@@ -1819,9 +1307,7 @@ async function main(argv) {
1819
1307
  : process.cwd();
1820
1308
 
1821
1309
  // Validate MCP for all providers (with project context)
1822
- if (!worktreeRuntimeMode) {
1823
- await validateMcpForProviders(internalBaseUrl, cli, opts, log, startupPath);
1824
- }
1310
+ await validateMcpForProviders(internalBaseUrl, cli, opts, log, startupPath);
1825
1311
 
1826
1312
  // Note: Claude bypass prompt already handled before server start (in parent process for detach mode)
1827
1313
 
@@ -1871,15 +1357,13 @@ async function main(argv) {
1871
1357
  cli.blank();
1872
1358
  }
1873
1359
 
1874
- if (!worktreeRuntimeMode) {
1875
- // Write PID file for stop command
1876
- writePidFile(port, effectiveHost);
1360
+ // Write PID file for stop command
1361
+ writePidFile(port, effectiveHost);
1877
1362
 
1878
- // Clean up PID file on exit (main.ts handles SIGINT/SIGTERM and graceful shutdown)
1879
- process.on('exit', () => {
1880
- removePidFile();
1881
- });
1882
- }
1363
+ // Clean up PID file on exit (main.ts handles SIGINT/SIGTERM and graceful shutdown)
1364
+ process.on('exit', () => {
1365
+ removePidFile();
1366
+ });
1883
1367
 
1884
1368
  if (opts.open) {
1885
1369
  if (!opts.foreground) {
@@ -1910,41 +1394,76 @@ async function main(argv) {
1910
1394
  });
1911
1395
 
1912
1396
  program
1913
- .command('dev:image')
1914
- .description('Rebuild worktree image for Docker-enabled development')
1915
- .option('--restart', 'After rebuild, restart running worktrees via orchestrator API')
1916
- .action(async (opts) => {
1917
- try {
1918
- ensureDockerAvailable();
1919
- const imageRef = buildWorktreeImage();
1920
- process.env.ORCHESTRATOR_CONTAINER_IMAGE = imageRef;
1397
+ .command('queue <name> [command...]')
1398
+ .usage('<name> -- <command> [args…]')
1399
+ .description('Run a command when no other command holds this queue for the OS user')
1400
+ .action(async (name, commandArgs, _options, queueCommand) => {
1401
+ if (!QUEUE_NAME.test(name)) {
1402
+ queueCommand.error(`queue name must match ${QUEUE_NAME.source}.`);
1403
+ }
1404
+ const input = program.rawArgs.slice(2);
1405
+ if (input[2] !== '--' || commandArgs.length === 0) {
1406
+ queueCommand.error('usage: devchain queue <name> -- <command> [args…]');
1407
+ }
1408
+ process.exitCode = await runExclusive({
1409
+ name,
1410
+ command: commandArgs[0],
1411
+ args: commandArgs.slice(1),
1412
+ });
1413
+ });
1921
1414
 
1922
- if (!opts.restart) {
1923
- console.log('Build complete. Running worktrees were not restarted.');
1924
- process.exit(0);
1925
- }
1415
+ const host = program.command('host').description('Manage DevChain hosts');
1416
+
1417
+ host
1418
+ .command('install')
1419
+ .description('Install DevChain on an Ubuntu or Debian VM over SSH')
1420
+ .option('--address <address>', 'VM address (for example, 192.168.1.20:3000)')
1421
+ .option('--ssh-user <user>', 'SSH account on the VM')
1422
+ .option('--password-stdin', 'Read the SSH password from one line of stdin')
1423
+ .option('--key <path>', 'SSH private key file')
1424
+ .option('--passphrase-stdin', 'Read the SSH key passphrase from one line of stdin')
1425
+ .option('--sudo-password-stdin', 'Read the optional sudo password from one line of stdin')
1426
+ .option('--projects <project-ids...>', 'Project ids to include in the disk estimate')
1427
+ .option('--no-docker', 'Do not install Docker Engine and Compose on the VM (installed by default)')
1428
+ .option(
1429
+ '--provider-auth <provider=choice>',
1430
+ 'Provider login choice: skip, generate, or reuse:<entry-id> (repeatable)',
1431
+ (value, previous) => [...(previous || []), value],
1432
+ )
1433
+ .action(async (options) => {
1434
+ const exitCode = await runHostInstallCommand(options, {
1435
+ getLocalApiBaseUrl: async () => {
1436
+ const pidData = readPidFile();
1437
+ if (!pidData || !isProcessRunning(pidData.pid)) return null;
1438
+ const { HostResolver } = await import(resolveSharedModuleSpecifier());
1439
+ return HostResolver.buildInternalBaseUrl({
1440
+ host: pidData.host || '127.0.0.1',
1441
+ port: pidData.port,
1442
+ });
1443
+ },
1444
+ });
1445
+ process.exitCode = exitCode;
1446
+ });
1926
1447
 
1927
- const baseUrl = await resolveDevchainApiBaseUrlForRestart();
1928
- const ready = await waitForHealth(`${baseUrl}/health`, {
1929
- timeoutMs: 5000,
1930
- intervalMs: 250,
1931
- });
1932
- if (!ready) {
1933
- throw new Error(
1934
- `Image was rebuilt, but orchestrator is not reachable at ${baseUrl}. Start it and retry --restart.`,
1935
- );
1936
- }
1448
+ host
1449
+ .command('api-key')
1450
+ .description('Manage this VM host API key')
1451
+ .command('reset')
1452
+ .description(
1453
+ 'Generate a new host API key, store its SHA-256 hash on this VM, and print the key once',
1454
+ )
1455
+ .action(() => {
1456
+ process.exitCode = runHostApiKeyReset();
1457
+ });
1937
1458
 
1938
- await restartRunningWorktrees({ baseUrl });
1939
- process.exit(0);
1940
- } catch (error) {
1941
- console.error(
1942
- error instanceof Error
1943
- ? error.message
1944
- : 'Failed to rebuild worktree image.',
1945
- );
1946
- process.exit(1);
1947
- }
1459
+ program
1460
+ .command('status')
1461
+ .description(
1462
+ 'Show whether this machine is home or a remote DevChain VM, and whether sudo works without a password',
1463
+ )
1464
+ .action(() => {
1465
+ console.log(getMachineRole());
1466
+ console.log(`sudo: ${getSudoStatus()}`);
1948
1467
  });
1949
1468
 
1950
1469
  program
@@ -2000,7 +1519,7 @@ async function main(argv) {
2000
1519
  process.exit(0);
2001
1520
  });
2002
1521
 
2003
- await program.parseAsync(normalizeCliArgv(argv));
1522
+ await program.parseAsync(argv);
2004
1523
  }
2005
1524
 
2006
1525
  if (require.main === module) {
@@ -2012,32 +1531,19 @@ if (require.main === module) {
2012
1531
 
2013
1532
  module.exports = {
2014
1533
  main,
2015
- normalizeCliArgv,
2016
1534
  __test__: {
2017
1535
  waitForHealth,
2018
- ensureDockerAvailable,
2019
- isDockerAvailable,
2020
- deriveRepoRootFromGit,
2021
- isInsideGitRepo,
2022
- ensureProjectGitignoreIncludesDevchain,
2023
- shouldSkipHostPreflights,
1536
+ validateMcpForProviders,
2024
1537
  runHostPreflightChecks,
2025
1538
  getDevUiConfig,
2026
- applyContainerModeDefaults,
2027
1539
  getPreferredDevApiPort,
2028
1540
  getDevModeSpawnConfig,
2029
- hasWorktreeImageLocally,
2030
- buildWorktreeImage,
2031
- resolveDevchainApiBaseUrlForRestart,
2032
- restartRunningWorktrees,
2033
- ensureWorktreeImage,
2034
- bootstrapContainerMode,
2035
- ensureWorktreeImageRefFromPackageVersion,
2036
- formatOrchestrationDetectionFailureReason,
2037
- resolveStartupOrchestration,
2038
- normalizeWorktreeRuntimeType,
2039
- isWorktreeRuntimeModeEnabled,
2040
1541
  detectGlobalPackageManager,
2041
1542
  detectInstalledProviders,
1543
+ checkForUpdates,
1544
+ shouldCheckForUpdates,
1545
+ askYesNo,
1546
+ getMachineRole,
1547
+ getSudoStatus,
2042
1548
  },
2043
1549
  };