devchain-cli 0.23.3 → 0.24.0

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