devchain-cli 0.24.1 → 0.24.2

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 (343) hide show
  1. package/dist/build-info.json +2 -2
  2. package/dist/cli.js +40 -10
  3. package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
  4. package/dist/host-install/pins.json +31 -2
  5. package/dist/lib/exclusive-run.js +51 -3
  6. package/dist/lib/git-owner.js +284 -0
  7. package/dist/lib/host-install.js +19 -151
  8. package/dist/lib/local-api.js +175 -0
  9. package/dist/server/common/config/env.config.d.ts +3 -0
  10. package/dist/server/common/config/env.config.js +1 -0
  11. package/dist/server/common/config/env.config.js.map +1 -1
  12. package/dist/server/common/config/host-image.json +3 -3
  13. package/dist/server/common/constants/syncthing-markers.d.ts +1 -0
  14. package/dist/server/common/constants/syncthing-markers.js +6 -1
  15. package/dist/server/common/constants/syncthing-markers.js.map +1 -1
  16. package/dist/server/common/filesystem/vm-home-path.d.ts +11 -0
  17. package/dist/server/common/filesystem/vm-home-path.js +48 -0
  18. package/dist/server/common/filesystem/vm-home-path.js.map +1 -0
  19. package/dist/server/common/process-ids-env.d.ts +1 -0
  20. package/dist/server/common/process-ids-env.js +13 -0
  21. package/dist/server/common/process-ids-env.js.map +1 -0
  22. package/dist/server/common/test/api-test-app.d.ts +12 -0
  23. package/dist/server/common/test/api-test-app.js +76 -0
  24. package/dist/server/common/test/api-test-app.js.map +1 -0
  25. package/dist/server/common/test/app-bootstrap.helper.js +8 -1
  26. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
  27. package/dist/server/common/test/fake-bootstrap.server.js +3 -2
  28. package/dist/server/common/test/fake-bootstrap.server.js.map +1 -1
  29. package/dist/server/common/test/fake-docker-engine.server.d.ts +17 -6
  30. package/dist/server/common/test/fake-docker-engine.server.js +77 -33
  31. package/dist/server/common/test/fake-docker-engine.server.js.map +1 -1
  32. package/dist/server/common/test/fake-proxmox.server.js +4 -4
  33. package/dist/server/common/test/fake-ssh.server.js +6 -6
  34. package/dist/server/common/test/fake-ssh.server.js.map +1 -1
  35. package/dist/server/common/test/test-database.helper.d.ts +6 -0
  36. package/dist/server/common/test/test-database.helper.js +29 -0
  37. package/dist/server/common/test/test-database.helper.js.map +1 -0
  38. package/dist/server/modules/core/controllers/docker-archive.js +1 -1
  39. package/dist/server/modules/core/controllers/docker-archive.js.map +1 -1
  40. package/dist/server/modules/core/controllers/docker-engine.client.d.ts +2 -1
  41. package/dist/server/modules/core/controllers/docker-engine.client.js +8 -4
  42. package/dist/server/modules/core/controllers/docker-engine.client.js.map +1 -1
  43. package/dist/server/modules/core/controllers/docker-image-metadata.d.ts +248 -0
  44. package/dist/server/modules/core/controllers/docker-image-metadata.js +161 -0
  45. package/dist/server/modules/core/controllers/docker-image-metadata.js.map +1 -0
  46. package/dist/server/modules/core/controllers/docker-settings.d.ts +13 -2
  47. package/dist/server/modules/core/controllers/docker-settings.js +49 -11
  48. package/dist/server/modules/core/controllers/docker-settings.js.map +1 -1
  49. package/dist/server/modules/core/controllers/host-user-identity.d.ts +34 -0
  50. package/dist/server/modules/core/controllers/host-user-identity.js +23 -0
  51. package/dist/server/modules/core/controllers/host-user-identity.js.map +1 -0
  52. package/dist/server/modules/core/controllers/runtime.controller.d.ts +11 -4
  53. package/dist/server/modules/core/controllers/runtime.controller.js +2 -0
  54. package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
  55. package/dist/server/modules/file-sync/build-exclusion-suggestions.d.ts +15 -0
  56. package/dist/server/modules/file-sync/build-exclusion-suggestions.js +402 -0
  57. package/dist/server/modules/file-sync/build-exclusion-suggestions.js.map +1 -0
  58. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.d.ts +102 -0
  59. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js +22 -0
  60. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js.map +1 -0
  61. package/dist/server/modules/file-sync/file-sync-auto-fix.store.d.ts +12 -0
  62. package/dist/server/modules/file-sync/file-sync-auto-fix.store.js +73 -0
  63. package/dist/server/modules/file-sync/file-sync-auto-fix.store.js.map +1 -0
  64. package/dist/server/modules/file-sync/file-sync-conflicts.d.ts +3 -0
  65. package/dist/server/modules/file-sync/file-sync-conflicts.js +191 -0
  66. package/dist/server/modules/file-sync/file-sync-conflicts.js.map +1 -0
  67. package/dist/server/modules/file-sync/file-sync-ignores.store.d.ts +5 -1
  68. package/dist/server/modules/file-sync/file-sync-ignores.store.js +39 -8
  69. package/dist/server/modules/file-sync/file-sync-ignores.store.js.map +1 -1
  70. package/dist/server/modules/file-sync/file-sync.controller.d.ts +1 -3
  71. package/dist/server/modules/file-sync/file-sync.controller.js +5 -14
  72. package/dist/server/modules/file-sync/file-sync.controller.js.map +1 -1
  73. package/dist/server/modules/file-sync/file-sync.dto.d.ts +220 -1
  74. package/dist/server/modules/file-sync/file-sync.dto.js +70 -4
  75. package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -1
  76. package/dist/server/modules/file-sync/file-sync.module.js +16 -1
  77. package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
  78. package/dist/server/modules/file-sync/file-sync.service.d.ts +18 -4
  79. package/dist/server/modules/file-sync/file-sync.service.js +166 -34
  80. package/dist/server/modules/file-sync/file-sync.service.js.map +1 -1
  81. package/dist/server/modules/file-sync/git-guard.dto.d.ts +61 -0
  82. package/dist/server/modules/file-sync/git-guard.dto.js +26 -0
  83. package/dist/server/modules/file-sync/git-guard.dto.js.map +1 -0
  84. package/dist/server/modules/file-sync/home-git-guard.service.d.ts +4 -2
  85. package/dist/server/modules/file-sync/home-git-guard.service.js +50 -25
  86. package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -1
  87. package/dist/server/modules/file-sync/host-git-guard.controller.d.ts +10 -0
  88. package/dist/server/modules/file-sync/host-git-guard.controller.js +64 -0
  89. package/dist/server/modules/file-sync/host-git-guard.controller.js.map +1 -0
  90. package/dist/server/modules/file-sync/host-git-index.controller.d.ts +9 -0
  91. package/dist/server/modules/file-sync/host-git-index.controller.js +67 -0
  92. package/dist/server/modules/file-sync/host-git-index.controller.js.map +1 -0
  93. package/dist/server/modules/file-sync/host-sync.controller.d.ts +15 -2
  94. package/dist/server/modules/file-sync/host-sync.controller.js +122 -14
  95. package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
  96. package/dist/server/modules/file-sync/ignore-pattern-matcher.d.ts +30 -0
  97. package/dist/server/modules/file-sync/ignore-pattern-matcher.js +183 -0
  98. package/dist/server/modules/file-sync/ignore-pattern-matcher.js.map +1 -0
  99. package/dist/server/modules/file-sync/project-repository.d.ts +2 -0
  100. package/dist/server/modules/file-sync/project-repository.js +20 -0
  101. package/dist/server/modules/file-sync/project-repository.js.map +1 -0
  102. package/dist/server/modules/file-sync/sync-chown.dto.d.ts +99 -0
  103. package/dist/server/modules/file-sync/sync-chown.dto.js +46 -0
  104. package/dist/server/modules/file-sync/sync-chown.dto.js.map +1 -0
  105. package/dist/server/modules/file-sync/sync-chown.service.d.ts +12 -0
  106. package/dist/server/modules/file-sync/sync-chown.service.js +230 -0
  107. package/dist/server/modules/file-sync/sync-chown.service.js.map +1 -0
  108. package/dist/server/modules/file-sync/sync-path-inspection.dto.d.ts +626 -0
  109. package/dist/server/modules/file-sync/sync-path-inspection.dto.js +108 -0
  110. package/dist/server/modules/file-sync/sync-path-inspection.dto.js.map +1 -0
  111. package/dist/server/modules/file-sync/sync-path-inspector.d.ts +12 -0
  112. package/dist/server/modules/file-sync/sync-path-inspector.js +413 -0
  113. package/dist/server/modules/file-sync/sync-path-inspector.js.map +1 -0
  114. package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +27 -4
  115. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +66 -4
  116. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -1
  117. package/dist/server/modules/file-sync/translate-git-ignore-rule.d.ts +3 -0
  118. package/dist/server/modules/file-sync/translate-git-ignore-rule.js +30 -0
  119. package/dist/server/modules/file-sync/translate-git-ignore-rule.js.map +1 -0
  120. package/dist/server/modules/mcp/services/handlers/skill-tools.js +2 -2
  121. package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
  122. package/dist/server/modules/remotes/connect-choices.controller.d.ts +9 -0
  123. package/dist/server/modules/remotes/connect-choices.controller.js +54 -0
  124. package/dist/server/modules/remotes/connect-choices.controller.js.map +1 -0
  125. package/dist/server/modules/remotes/connect-choices.dto.d.ts +52 -0
  126. package/dist/server/modules/remotes/connect-choices.dto.js +19 -0
  127. package/dist/server/modules/remotes/connect-choices.dto.js.map +1 -0
  128. package/dist/server/modules/remotes/connect-choices.store.d.ts +12 -0
  129. package/dist/server/modules/remotes/connect-choices.store.js +95 -0
  130. package/dist/server/modules/remotes/connect-choices.store.js.map +1 -0
  131. package/dist/server/modules/remotes/controllers/remotes.controller.d.ts +3 -0
  132. package/dist/server/modules/remotes/controllers/remotes.controller.js +9 -1
  133. package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -1
  134. package/dist/server/modules/remotes/docker/docker-copy-back.js +40 -16
  135. package/dist/server/modules/remotes/docker/docker-copy-back.js.map +1 -1
  136. package/dist/server/modules/remotes/docker/docker-handoff.d.ts +5 -3
  137. package/dist/server/modules/remotes/docker/docker-handoff.js +146 -42
  138. package/dist/server/modules/remotes/docker/docker-handoff.js.map +1 -1
  139. package/dist/server/modules/remotes/docker/docker-handoff.store.d.ts +3 -0
  140. package/dist/server/modules/remotes/docker/docker-handoff.store.js.map +1 -1
  141. package/dist/server/modules/remotes/docker/docker-plan-fit.d.ts +4 -1
  142. package/dist/server/modules/remotes/docker/docker-plan-fit.js +19 -6
  143. package/dist/server/modules/remotes/docker/docker-plan-fit.js.map +1 -1
  144. package/dist/server/modules/remotes/docker/docker-plan-policy.d.ts +6 -2
  145. package/dist/server/modules/remotes/docker/docker-plan-policy.js +191 -38
  146. package/dist/server/modules/remotes/docker/docker-plan-policy.js.map +1 -1
  147. package/dist/server/modules/remotes/docker/docker-plan-source.service.d.ts +52 -8
  148. package/dist/server/modules/remotes/docker/docker-plan-source.service.js +273 -50
  149. package/dist/server/modules/remotes/docker/docker-plan-source.service.js.map +1 -1
  150. package/dist/server/modules/remotes/docker/docker-plan.controller.d.ts +2 -1
  151. package/dist/server/modules/remotes/docker/docker-plan.controller.js +14 -0
  152. package/dist/server/modules/remotes/docker/docker-plan.controller.js.map +1 -1
  153. package/dist/server/modules/remotes/docker/docker-plan.dto.d.ts +46 -1
  154. package/dist/server/modules/remotes/docker/docker-plan.dto.js +1 -0
  155. package/dist/server/modules/remotes/docker/docker-plan.dto.js.map +1 -1
  156. package/dist/server/modules/remotes/docker/docker-plan.service.d.ts +13 -7
  157. package/dist/server/modules/remotes/docker/docker-plan.service.js +57 -13
  158. package/dist/server/modules/remotes/docker/docker-plan.service.js.map +1 -1
  159. package/dist/server/modules/remotes/docker/docker-project-compose.d.ts +7 -0
  160. package/dist/server/modules/remotes/docker/docker-project-compose.js +30 -0
  161. package/dist/server/modules/remotes/docker/docker-project-compose.js.map +1 -0
  162. package/dist/server/modules/remotes/dtos/remote.dto.d.ts +2 -0
  163. package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -1
  164. package/dist/server/modules/remotes/git-owner.store.d.ts +13 -0
  165. package/dist/server/modules/remotes/git-owner.store.js +69 -0
  166. package/dist/server/modules/remotes/git-owner.store.js.map +1 -0
  167. package/dist/server/modules/remotes/host/host-docker.controller.d.ts +8 -0
  168. package/dist/server/modules/remotes/host/host-docker.controller.js +22 -6
  169. package/dist/server/modules/remotes/host/host-docker.controller.js.map +1 -1
  170. package/dist/server/modules/remotes/host/host-docker.dto.d.ts +606 -0
  171. package/dist/server/modules/remotes/host/host-docker.dto.js +47 -7
  172. package/dist/server/modules/remotes/host/host-docker.dto.js.map +1 -1
  173. package/dist/server/modules/remotes/host/host-docker.service.d.ts +16 -4
  174. package/dist/server/modules/remotes/host/host-docker.service.js +157 -82
  175. package/dist/server/modules/remotes/host/host-docker.service.js.map +1 -1
  176. package/dist/server/modules/remotes/host/host-ipv4-routes.d.ts +4 -0
  177. package/dist/server/modules/remotes/host/host-ipv4-routes.js +43 -0
  178. package/dist/server/modules/remotes/host/host-ipv4-routes.js.map +1 -0
  179. package/dist/server/modules/remotes/host-image.d.ts +1 -1
  180. package/dist/server/modules/remotes/host-image.js +1 -1
  181. package/dist/server/modules/remotes/host-install/host-install-block.d.ts +1 -0
  182. package/dist/server/modules/remotes/host-install/host-install-block.js +76 -2
  183. package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -1
  184. package/dist/server/modules/remotes/host-install/host-install.service.d.ts +0 -1
  185. package/dist/server/modules/remotes/host-install/host-install.service.js +9 -26
  186. package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -1
  187. package/dist/server/modules/remotes/operations/attach.operation.d.ts +5 -1
  188. package/dist/server/modules/remotes/operations/attach.operation.js +40 -5
  189. package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -1
  190. package/dist/server/modules/remotes/operations/claim.operation.d.ts +1 -0
  191. package/dist/server/modules/remotes/operations/claim.operation.js +6 -1
  192. package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -1
  193. package/dist/server/modules/remotes/operations/detach.operation.d.ts +4 -1
  194. package/dist/server/modules/remotes/operations/detach.operation.js +10 -2
  195. package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -1
  196. package/dist/server/modules/remotes/operations/docker-import-inventory.store.d.ts +4 -0
  197. package/dist/server/modules/remotes/operations/docker-import-inventory.store.js +11 -0
  198. package/dist/server/modules/remotes/operations/docker-import-inventory.store.js.map +1 -1
  199. package/dist/server/modules/remotes/operations/file-sync-handoff.d.ts +29 -3
  200. package/dist/server/modules/remotes/operations/file-sync-handoff.js +477 -50
  201. package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -1
  202. package/dist/server/modules/remotes/operations/force-sync.operation.d.ts +39 -0
  203. package/dist/server/modules/remotes/operations/force-sync.operation.js +177 -0
  204. package/dist/server/modules/remotes/operations/force-sync.operation.js.map +1 -0
  205. package/dist/server/modules/remotes/operations/git-owner.dto.d.ts +83 -0
  206. package/dist/server/modules/remotes/operations/git-owner.dto.js +25 -0
  207. package/dist/server/modules/remotes/operations/git-owner.dto.js.map +1 -0
  208. package/dist/server/modules/remotes/operations/git-owner.operation.d.ts +35 -0
  209. package/dist/server/modules/remotes/operations/git-owner.operation.js +216 -0
  210. package/dist/server/modules/remotes/operations/git-owner.operation.js.map +1 -0
  211. package/dist/server/modules/remotes/operations/remote-host.client.d.ts +71 -7
  212. package/dist/server/modules/remotes/operations/remote-host.client.js +141 -11
  213. package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
  214. package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +19 -0
  215. package/dist/server/modules/remotes/operations/remote-operation.dto.js +5 -1
  216. package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -1
  217. package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +3 -1
  218. package/dist/server/modules/remotes/operations/remote-operation.runner.js +52 -21
  219. package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -1
  220. package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +4 -1
  221. package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -1
  222. package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +5 -0
  223. package/dist/server/modules/remotes/operations/remote-operations.controller.js +56 -0
  224. package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -1
  225. package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +16 -1
  226. package/dist/server/modules/remotes/operations/remote-operations.service.js +155 -5
  227. package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -1
  228. package/dist/server/modules/remotes/operations/update-logins.operation.d.ts +1 -3
  229. package/dist/server/modules/remotes/operations/update-logins.operation.js +3 -18
  230. package/dist/server/modules/remotes/operations/update-logins.operation.js.map +1 -1
  231. package/dist/server/modules/remotes/ports/remote-health.port.d.ts +2 -0
  232. package/dist/server/modules/remotes/ports/remote-health.port.js.map +1 -1
  233. package/dist/server/modules/remotes/remotes.module.js +18 -0
  234. package/dist/server/modules/remotes/remotes.module.js.map +1 -1
  235. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.d.ts +2 -2
  236. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js +2 -13
  237. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js.map +1 -1
  238. package/dist/server/modules/remotes/services/remote-health.service.js +5 -0
  239. package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -1
  240. package/dist/server/modules/remotes/sync/file-sync-failures.service.d.ts +18 -0
  241. package/dist/server/modules/remotes/sync/file-sync-failures.service.js +157 -0
  242. package/dist/server/modules/remotes/sync/file-sync-failures.service.js.map +1 -0
  243. package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.d.ts +14 -0
  244. package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js +99 -0
  245. package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js.map +1 -0
  246. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.d.ts +15 -0
  247. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js +90 -0
  248. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js.map +1 -0
  249. package/dist/server/modules/remotes/sync/project-file-sync.controller.d.ts +29 -0
  250. package/dist/server/modules/remotes/sync/project-file-sync.controller.js +160 -0
  251. package/dist/server/modules/remotes/sync/project-file-sync.controller.js.map +1 -0
  252. package/dist/server/modules/remotes/sync/remote-file-sync.dto.d.ts +72 -0
  253. package/dist/server/modules/remotes/sync/remote-file-sync.dto.js +16 -0
  254. package/dist/server/modules/remotes/sync/remote-file-sync.dto.js.map +1 -0
  255. package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +32 -1
  256. package/dist/server/modules/remotes/sync/remote-file-sync.service.js +499 -38
  257. package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -1
  258. package/dist/server/modules/remotes/sync/remote-live-sync.service.d.ts +2 -0
  259. package/dist/server/modules/remotes/sync/remote-live-sync.service.js +26 -12
  260. package/dist/server/modules/remotes/sync/remote-live-sync.service.js.map +1 -1
  261. package/dist/server/modules/remotes/vm-user-identity.d.ts +29 -0
  262. package/dist/server/modules/remotes/vm-user-identity.js +45 -0
  263. package/dist/server/modules/remotes/vm-user-identity.js.map +1 -0
  264. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +5 -1
  265. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
  266. package/dist/server/modules/session-reader/data/pricing.json +55 -7
  267. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +5 -0
  268. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
  269. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.d.ts +6 -0
  270. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js +26 -0
  271. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js.map +1 -1
  272. package/dist/server/modules/settings/services/settings.service.d.ts +3 -1
  273. package/dist/server/modules/settings/services/settings.service.js +6 -0
  274. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  275. package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js +5 -5
  276. package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js.map +1 -1
  277. package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js +5 -5
  278. package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js.map +1 -1
  279. package/dist/server/modules/skills/adapters/github-skill-source.base.js +4 -3
  280. package/dist/server/modules/skills/adapters/github-skill-source.base.js.map +1 -1
  281. package/dist/server/modules/skills/adapters/local-skill-source.adapter.js +5 -5
  282. package/dist/server/modules/skills/adapters/local-skill-source.adapter.js.map +1 -1
  283. package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js +5 -5
  284. package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js.map +1 -1
  285. package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js +5 -5
  286. package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js.map +1 -1
  287. package/dist/server/modules/skills/adapters/skill-source.adapter.d.ts +5 -0
  288. package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.d.ts +5 -0
  289. package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js +75 -0
  290. package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js.map +1 -0
  291. package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js +5 -5
  292. package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js.map +1 -1
  293. package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js +5 -5
  294. package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js.map +1 -1
  295. package/dist/server/modules/skills/controllers/skills.controller.js +2 -2
  296. package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
  297. package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +3 -3
  298. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js +9 -4
  299. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
  300. package/dist/server/modules/skills/services/skill-sync.service.d.ts +3 -3
  301. package/dist/server/modules/skills/services/skill-sync.service.js +32 -6
  302. package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
  303. package/dist/server/modules/skills/services/skill-sync.types.d.ts +3 -0
  304. package/dist/server/modules/storage/db/schema.d.ts +2 -2
  305. package/dist/server/modules/storage/db/schema.js +2 -0
  306. package/dist/server/modules/storage/db/schema.js.map +1 -1
  307. package/dist/server/modules/storage/models/domain.models.d.ts +1 -1
  308. package/dist/server/modules/storage/models/domain.models.js +2 -0
  309. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  310. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +3 -1
  311. package/dist/server/modules/terminal/gateways/terminal.gateway.js +9 -4
  312. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  313. package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +0 -1
  314. package/dist/server/modules/terminal/services/terminal-activity.service.js +0 -3
  315. package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -1
  316. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js +15 -3
  317. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js.map +1 -1
  318. package/dist/server/modules/terminal/utils/ansi-sanitizer.d.ts +0 -1
  319. package/dist/server/modules/terminal/utils/ansi-sanitizer.js +0 -4
  320. package/dist/server/modules/terminal/utils/ansi-sanitizer.js.map +1 -1
  321. package/dist/server/templates/teams-dev.json +11 -11
  322. package/dist/server/test-setup-node.js +4 -3
  323. package/dist/server/test-setup-node.js.map +1 -1
  324. package/dist/server/test-setup.js +7 -0
  325. package/dist/server/test-setup.js.map +1 -1
  326. package/dist/server/tsconfig.tsbuildinfo +1 -1
  327. package/dist/server/ui/assets/{ExternalRichEditor-DtNvrV0F.js → ExternalRichEditor-CIZPhssf.js} +24 -24
  328. package/dist/server/ui/assets/ReviewDetailPage-winyLSQ7.js +6 -0
  329. package/dist/server/ui/assets/ReviewsPage-BYKBReMp.js +6 -0
  330. package/dist/server/ui/assets/index-CiDJX6Hn.js +1191 -0
  331. package/dist/server/ui/assets/index-f1WOAqXB.css +32 -0
  332. package/dist/server/ui/assets/useReviewSubscription-v3Cto0y4.js +69 -0
  333. package/dist/server/ui/index.html +2 -2
  334. package/dist/templates/teams-dev.json +11 -11
  335. package/package.json +8 -1
  336. package/dist/server/modules/reviews/utils/notification-formatter.d.ts +0 -12
  337. package/dist/server/modules/reviews/utils/notification-formatter.js +0 -60
  338. package/dist/server/modules/reviews/utils/notification-formatter.js.map +0 -1
  339. package/dist/server/ui/assets/ReviewDetailPage-DJzEoM0x.js +0 -6
  340. package/dist/server/ui/assets/ReviewsPage-z2O8MNEw.js +0 -6
  341. package/dist/server/ui/assets/index-CC4P3V8L.js +0 -994
  342. package/dist/server/ui/assets/index-LsJe1ZTS.css +0 -32
  343. package/dist/server/ui/assets/useReviewSubscription-B7AdJBO2.js +0 -69
@@ -29,6 +29,8 @@ const destroy_vm_operation_1 = require("./destroy-vm.operation");
29
29
  const remote_operation_types_1 = require("./remote-operation.types");
30
30
  const update_logins_operation_1 = require("./update-logins.operation");
31
31
  const install_host_operation_1 = require("./install-host.operation");
32
+ const force_sync_operation_1 = require("./force-sync.operation");
33
+ const git_owner_operation_1 = require("./git-owner.operation");
32
34
  const logger = (0, logger_1.createLogger)('RemoteOperationRunner');
33
35
  exports.REMOTE_OPERATIONS_TOPIC = 'remote-operations';
34
36
  exports.PROGRESS_PUBLISH_INTERVAL_MS = 1_000;
@@ -40,13 +42,15 @@ let RemoteOperationRunner = class RemoteOperationRunner {
40
42
  cancelRequested = new Set();
41
43
  lastPublishedAt = new Map();
42
44
  stopped = false;
43
- constructor(storage, broadcaster, attach, detach, claim, updateHost, createVm, resetVm, destroyVm, installHost, updateLogins) {
45
+ constructor(storage, broadcaster, attach, detach, claim, updateHost, createVm, resetVm, destroyVm, installHost, updateLogins, forceSync, gitOwner) {
44
46
  this.storage = storage;
45
47
  this.broadcaster = broadcaster;
46
48
  this.definitions = new Map([
47
49
  [attach.kind, attach],
48
50
  ...(updateLogins ? [[updateLogins.kind, updateLogins]] : []),
49
51
  [detach.kind, detach],
52
+ ...(forceSync ? [[forceSync.kind, forceSync]] : []),
53
+ ...(gitOwner ? [[gitOwner.kind, gitOwner]] : []),
50
54
  [claim.kind, claim],
51
55
  [updateHost.kind, updateHost],
52
56
  ...(installHost ? [[installHost.kind, installHost]] : []),
@@ -59,6 +63,14 @@ let RemoteOperationRunner = class RemoteOperationRunner {
59
63
  const unfinished = await this.storage.listRemoteOperations({ states: ['running'] });
60
64
  for (const operation of unfinished) {
61
65
  logger.info({ operationId: operation.id, kind: operation.kind }, 'Resuming remote operation');
66
+ try {
67
+ const from = this.definitions.get(operation.kind)?.resumeFrom?.(operation) ?? null;
68
+ if (from !== null)
69
+ await this.persist(operation, { steps: stepsFrom(operation.steps, from, false) });
70
+ }
71
+ catch (error) {
72
+ logger.warn({ error, operationId: operation.id }, 'Remote operation resume step reset failed');
73
+ }
62
74
  this.launch(operation.id);
63
75
  }
64
76
  }
@@ -94,14 +106,10 @@ let RemoteOperationRunner = class RemoteOperationRunner {
94
106
  });
95
107
  }
96
108
  const from = this.definition(current.kind).retryFrom?.(current) ?? null;
97
- const fromIndex = from === null ? -1 : current.steps.findIndex((step) => step.id === from);
98
109
  const operation = await this.persist(current, {
99
110
  state: 'running',
100
111
  expectedState: 'failed',
101
- steps: current.steps.map((step, index) => step.state === 'failed' ||
102
- (fromIndex >= 0 && index >= fromIndex && step.state !== 'skipped')
103
- ? { ...step, state: 'pending', error: null }
104
- : step),
112
+ steps: stepsFrom(current.steps, from, true),
105
113
  });
106
114
  this.launch(id);
107
115
  return operation;
@@ -331,29 +339,41 @@ let RemoteOperationRunner = class RemoteOperationRunner {
331
339
  let timer = null;
332
340
  let writing = Promise.resolve();
333
341
  let closed = false;
334
- const write = () => {
335
- timer = null;
336
- writing = writing.then(async () => {
337
- if (closed || this.stopped)
342
+ const write = (durable = false) => {
343
+ const snapshot = { ...details };
344
+ const saved = writing.then(async () => {
345
+ if (!durable && (closed || this.stopped))
338
346
  return;
339
- try {
340
- const updated = await this.storage.updateRemoteOperation(id, { details: { ...details } });
341
- this.publish(updated);
342
- }
343
- catch (error) {
344
- logger.warn({ error, operationId: id }, 'Remote operation progress was not saved');
345
- }
347
+ const updated = await this.storage.updateRemoteOperation(id, { details: snapshot });
348
+ this.publish(updated);
346
349
  });
350
+ writing = saved.catch((error) => {
351
+ logger.warn({ error, operationId: id }, 'Remote operation progress was not saved');
352
+ });
353
+ return saved;
347
354
  };
348
355
  return {
349
- report: async (patch) => {
350
- if (closed)
356
+ report: async (patch, options) => {
357
+ if (closed) {
358
+ if (options?.durable)
359
+ throw new Error('The operation step has ended.');
351
360
  return;
361
+ }
352
362
  Object.assign(details, patch);
363
+ if (options?.durable) {
364
+ if (timer)
365
+ clearTimeout(timer);
366
+ timer = null;
367
+ await write(true);
368
+ return;
369
+ }
353
370
  if (timer)
354
371
  return;
355
372
  const since = Date.now() - (this.lastPublishedAt.get(id) ?? 0);
356
- timer = setTimeout(write, Math.max(0, exports.PROGRESS_PUBLISH_INTERVAL_MS - since));
373
+ timer = setTimeout(() => {
374
+ timer = null;
375
+ void write().catch(() => undefined);
376
+ }, Math.max(0, exports.PROGRESS_PUBLISH_INTERVAL_MS - since));
357
377
  timer.unref?.();
358
378
  },
359
379
  close: async () => {
@@ -376,6 +396,8 @@ exports.RemoteOperationRunner = RemoteOperationRunner = __decorate([
376
396
  __param(8, (0, common_1.Optional)()),
377
397
  __param(9, (0, common_1.Optional)()),
378
398
  __param(10, (0, common_1.Optional)()),
399
+ __param(11, (0, common_1.Optional)()),
400
+ __param(12, (0, common_1.Optional)()),
379
401
  __metadata("design:paramtypes", [Object, Object, attach_operation_1.AttachOperation,
380
402
  detach_operation_1.DetachOperation,
381
403
  claim_operation_1.ClaimOperation,
@@ -384,11 +406,20 @@ exports.RemoteOperationRunner = RemoteOperationRunner = __decorate([
384
406
  reset_vm_operation_1.ResetVmOperation,
385
407
  destroy_vm_operation_1.DestroyVmOperation,
386
408
  install_host_operation_1.InstallHostOperation,
387
- update_logins_operation_1.UpdateLoginsOperation])
409
+ update_logins_operation_1.UpdateLoginsOperation,
410
+ force_sync_operation_1.ForceSyncOperation,
411
+ git_owner_operation_1.GitOwnerOperation])
388
412
  ], RemoteOperationRunner);
389
413
  function withStep(steps, index, patch) {
390
414
  return steps.map((step, i) => (i === index ? { ...step, ...patch } : step));
391
415
  }
416
+ function stepsFrom(steps, from, failed) {
417
+ const fromIndex = from === null ? -1 : steps.findIndex((step) => step.id === from);
418
+ return steps.map((step, index) => (failed && step.state === 'failed') ||
419
+ (fromIndex >= 0 && index >= fromIndex && step.state !== 'skipped')
420
+ ? { ...step, state: 'pending', error: null }
421
+ : step);
422
+ }
392
423
  const MAX_ERROR_MESSAGE_LENGTH = 2_000;
393
424
  function toStepError(error) {
394
425
  const message = error instanceof Error ? error.message : String(error);
@@ -1 +1 @@
1
- {"version":3,"file":"remote-operation.runner.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/remote-operation.runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-operation.runner.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/remote-operation.runner.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ import type { RemoteOperation, RemoteOperationKind } from '../../storage/models/
2
2
  export interface RemoteOperationStepRun {
3
3
  readonly operation: RemoteOperation;
4
4
  readonly details: Record<string, unknown>;
5
- progress(patch: Record<string, unknown>): Promise<void>;
5
+ progress(patch: Record<string, unknown>, options?: {
6
+ durable?: boolean;
7
+ }): Promise<void>;
6
8
  }
7
9
  export interface RemoteOperationStepDefinition {
8
10
  id: string;
@@ -20,6 +22,7 @@ export interface RemoteOperationDefinition {
20
22
  forget?(operationId: string): void;
21
23
  interrupt?(operationId: string): Promise<void>;
22
24
  retryFrom?(operation: RemoteOperation): string | null;
25
+ resumeFrom?(operation: RemoteOperation): string | null;
23
26
  }
24
27
  export declare function requireProjectId(operation: RemoteOperation): string;
25
28
  export declare function stepStarted(operation: RemoteOperation, stepId: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"remote-operation.types.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/remote-operation.types.ts"],"names":[],"mappings":";;;AA2DA,4CAKC;AAMD,kCAIC;AAgBD,wCAOC;AAMD,kCAUC;AAtDD,SAAgB,gBAAgB,CAAC,SAA0B;IACzD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,SAAS,CAAC,SAAS,CAAC;AAC7B,CAAC;AAMD,SAAgB,WAAW,CAAC,SAA0B,EAAE,MAAc;IACpE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAC3F,CAAC;AAGY,QAAA,kBAAkB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AACtE,QAAA,oBAAoB,GAAG;IAClC,OAAO;IACP,cAAc;IACd,aAAa;IACb,eAAe;IACf,GAAG,0BAAkB;CACb,CAAC;AAMX,SAAgB,cAAc,CAAC,SAA0B,EAAE,MAAc;IACvE,OAAO;QACL,GAAG,SAAS;QACZ,KAAK,EAAE,SAAS,CAAC,KAAK;aACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aAC5C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAMD,SAAgB,WAAW,CACzB,KAA+C,EAC/C,MAAc;IAEd,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;KACrF,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"remote-operation.types.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/remote-operation.types.ts"],"names":[],"mappings":";;;AAiEA,4CAKC;AAMD,kCAIC;AAgBD,wCAOC;AAMD,kCAUC;AAtDD,SAAgB,gBAAgB,CAAC,SAA0B;IACzD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,SAAS,CAAC,SAAS,CAAC;AAC7B,CAAC;AAMD,SAAgB,WAAW,CAAC,SAA0B,EAAE,MAAc;IACpE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAC3F,CAAC;AAGY,QAAA,kBAAkB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AACtE,QAAA,oBAAoB,GAAG;IAClC,OAAO;IACP,cAAc;IACd,aAAa;IACb,eAAe;IACf,GAAG,0BAAkB;CACb,CAAC;AAMX,SAAgB,cAAc,CAAC,SAA0B,EAAE,MAAc;IACvE,OAAO;QACL,GAAG,SAAS;QACZ,KAAK,EAAE,SAAS,CAAC,KAAK;aACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aAC5C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAMD,SAAgB,WAAW,CACzB,KAA+C,EAC/C,MAAc;IAEd,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;KACrF,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,5 +1,7 @@
1
+ import type { FastifyReply } from 'fastify';
1
2
  import type { RemoteOperation } from '../../storage/models/domain.models';
2
3
  import { RemoteOperationsService } from './remote-operations.service';
4
+ import { type GitOwnerStartResult, type GitOwnerStatus } from './git-owner.dto';
3
5
  export declare class RemoteOperationsController {
4
6
  private readonly operations;
5
7
  constructor(operations: RemoteOperationsService);
@@ -8,6 +10,9 @@ export declare class RemoteOperationsController {
8
10
  updateLogins(id: string, body: unknown): Promise<RemoteOperation>;
9
11
  attach(id: string, body: unknown): Promise<RemoteOperation>;
10
12
  detach(id: string, body: unknown): Promise<RemoteOperation>;
13
+ forceSync(id: string, body: unknown): Promise<RemoteOperation>;
14
+ gitOwner(id: string, body: unknown, reply: FastifyReply): Promise<GitOwnerStartResult>;
15
+ gitOwnerStatus(query: unknown): Promise<GitOwnerStatus>;
11
16
  list(query: unknown): Promise<{
12
17
  items: RemoteOperation[];
13
18
  }>;
@@ -16,9 +16,11 @@ exports.RemoteOperationsController = void 0;
16
16
  const remote_operation_dto_1 = require("./remote-operation.dto");
17
17
  const common_1 = require("@nestjs/common");
18
18
  const zod_1 = require("zod");
19
+ const swagger_1 = require("@nestjs/swagger");
19
20
  const logger_1 = require("../../../common/logging/logger");
20
21
  const remote_operation_dto_2 = require("./remote-operation.dto");
21
22
  const remote_operations_service_1 = require("./remote-operations.service");
23
+ const git_owner_dto_1 = require("./git-owner.dto");
22
24
  const logger = (0, logger_1.createLogger)('RemoteOperationsController');
23
25
  const RemoteIdSchema = zod_1.z.string().uuid();
24
26
  let RemoteOperationsController = class RemoteOperationsController {
@@ -51,6 +53,20 @@ let RemoteOperationsController = class RemoteOperationsController {
51
53
  logger.info({ remoteId, projectId, force, dockerCopyBack: dockerCopyBack !== undefined }, 'POST /api/remotes/:id/detach');
52
54
  return this.operations.detach(remoteId, projectId, force, dockerCopyBack);
53
55
  }
56
+ forceSync(id, body) {
57
+ const { projectId, source } = remote_operation_dto_2.ForceSyncProjectSchema.parse(body);
58
+ return this.operations.forceSync(RemoteIdSchema.parse(id), projectId, source);
59
+ }
60
+ async gitOwner(id, body, reply) {
61
+ const { projectId, owner, force } = git_owner_dto_1.GitOwnerProjectSchema.parse(body);
62
+ const result = await this.operations.gitOwner(RemoteIdSchema.parse(id), projectId, owner, force);
63
+ if ('changed' in result)
64
+ reply.code(200);
65
+ return result;
66
+ }
67
+ gitOwnerStatus(query) {
68
+ return this.operations.gitOwnerStatus(git_owner_dto_1.GitOwnerStatusQuerySchema.parse(query).projectId);
69
+ }
54
70
  async list(query) {
55
71
  const filter = remote_operation_dto_2.ListRemoteOperationsQuerySchema.parse(query);
56
72
  return { items: await this.operations.list(filter) };
@@ -115,6 +131,45 @@ __decorate([
115
131
  __metadata("design:paramtypes", [String, Object]),
116
132
  __metadata("design:returntype", Promise)
117
133
  ], RemoteOperationsController.prototype, "detach", null);
134
+ __decorate([
135
+ (0, common_1.Post)(':id/force-sync'),
136
+ (0, common_1.HttpCode)(202),
137
+ (0, swagger_1.ApiOperation)({ summary: "Rebuild project file sync from this PC's or the VM's files" }),
138
+ (0, swagger_1.ApiResponse)({ status: 202, description: 'Persisted force sync operation' }),
139
+ (0, swagger_1.ApiResponse)({ status: 400, description: 'Invalid remote, project or source' }),
140
+ (0, swagger_1.ApiResponse)({
141
+ status: 409,
142
+ description: 'Force sync is unavailable or another operation is open',
143
+ }),
144
+ __param(0, (0, common_1.Param)('id')),
145
+ __param(1, (0, common_1.Body)()),
146
+ __metadata("design:type", Function),
147
+ __metadata("design:paramtypes", [String, Object]),
148
+ __metadata("design:returntype", Promise)
149
+ ], RemoteOperationsController.prototype, "forceSync", null);
150
+ __decorate([
151
+ (0, common_1.Post)(':id/git-owner'),
152
+ (0, common_1.HttpCode)(202),
153
+ (0, swagger_1.ApiOperation)({ summary: 'Move Git control between this PC and its connected VM' }),
154
+ (0, swagger_1.ApiResponse)({ status: 202, description: 'Persisted Git switch operation' }),
155
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Git already belongs to the requested side' }),
156
+ (0, swagger_1.ApiResponse)({ status: 409, description: 'Switch refused before saving an operation' }),
157
+ __param(0, (0, common_1.Param)('id')),
158
+ __param(1, (0, common_1.Body)()),
159
+ __param(2, (0, common_1.Res)({ passthrough: true })),
160
+ __metadata("design:type", Function),
161
+ __metadata("design:paramtypes", [String, Object, Object]),
162
+ __metadata("design:returntype", Promise)
163
+ ], RemoteOperationsController.prototype, "gitOwner", null);
164
+ __decorate([
165
+ (0, common_1.Get)('git-owner'),
166
+ (0, swagger_1.ApiOperation)({ summary: 'Read current Git control and any unfinished switch' }),
167
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Current Git owner and recovery status' }),
168
+ __param(0, (0, common_1.Query)()),
169
+ __metadata("design:type", Function),
170
+ __metadata("design:paramtypes", [Object]),
171
+ __metadata("design:returntype", Promise)
172
+ ], RemoteOperationsController.prototype, "gitOwnerStatus", null);
118
173
  __decorate([
119
174
  (0, common_1.Get)('operations'),
120
175
  __param(0, (0, common_1.Query)()),
@@ -148,6 +203,7 @@ __decorate([
148
203
  ], RemoteOperationsController.prototype, "cancel", null);
149
204
  exports.RemoteOperationsController = RemoteOperationsController = __decorate([
150
205
  (0, common_1.Controller)('api/remotes'),
206
+ (0, swagger_1.ApiTags)('Remote operations'),
151
207
  __metadata("design:paramtypes", [remote_operations_service_1.RemoteOperationsService])
152
208
  ], RemoteOperationsController);
153
209
  //# sourceMappingURL=remote-operations.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-operations.controller.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/remote-operations.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-operations.controller.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/remote-operations.controller.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,13 @@ import type { UpdateLoginsData, ClaimRemoteData, InstallHostData, ProviderAuthSe
11
11
  import { RemoteOperationRunner } from './remote-operation.runner';
12
12
  import { InstallHostOperation } from './install-host.operation';
13
13
  import { SshKeyService } from '../host-install/ssh-key.service';
14
+ import { ConnectChoicesStore } from '../connect-choices.store';
15
+ import { RemoteFileSyncService } from '../sync/remote-file-sync.service';
16
+ import type { ForceSyncSource } from './remote-operation.dto';
17
+ import { GitOwnerOperation } from './git-owner.operation';
18
+ import { GitOwnerStore, type GitOwner } from '../git-owner.store';
19
+ import { RemoteHostClient } from './remote-host.client';
20
+ import { type GitOwnerStartResult, type GitOwnerStatus } from './git-owner.dto';
14
21
  export declare class RemoteOperationsService {
15
22
  private readonly storage;
16
23
  private readonly runner;
@@ -20,7 +27,14 @@ export declare class RemoteOperationsService {
20
27
  private readonly installHostOperation;
21
28
  private readonly sshKeys;
22
29
  private readonly health;
23
- constructor(storage: StorageService, runner: RemoteOperationRunner, remotes: RemotesService, vault: ProviderAuthVaultService, providers: ProviderAdapterFactory, installHostOperation: InstallHostOperation, sshKeys: SshKeyService, health: RemoteHealthPort);
30
+ private readonly choices;
31
+ private readonly files;
32
+ private readonly gitSwitch;
33
+ private readonly gitOwners;
34
+ private readonly host;
35
+ constructor(storage: StorageService, runner: RemoteOperationRunner, remotes: RemotesService, vault: ProviderAuthVaultService, providers: ProviderAdapterFactory, installHostOperation: InstallHostOperation, sshKeys: SshKeyService, health: RemoteHealthPort, choices: ConnectChoicesStore, files: RemoteFileSyncService, gitSwitch: GitOwnerOperation, gitOwners: GitOwnerStore, host: RemoteHostClient);
36
+ gitOwner(remoteId: string, projectId: string, owner: GitOwner, force: boolean): Promise<GitOwnerStartResult>;
37
+ gitOwnerStatus(projectId: string): Promise<GitOwnerStatus>;
24
38
  claim(input: ClaimRemoteData): Promise<RemoteOperation>;
25
39
  installHost(input: InstallHostData): Promise<RemoteOperation>;
26
40
  claimDetails(input: {
@@ -33,6 +47,7 @@ export declare class RemoteOperationsService {
33
47
  updateHost(remoteId: string, installDocker?: boolean): Promise<RemoteOperation>;
34
48
  updateLogins(remoteId: string, input: UpdateLoginsData): Promise<RemoteOperation>;
35
49
  attach(remoteId: string, projectId: string, docker?: DockerSelection): Promise<RemoteOperation>;
50
+ forceSync(remoteId: string, projectId: string, source: ForceSyncSource): Promise<RemoteOperation>;
36
51
  detach(remoteId: string, projectId: string, force: boolean, dockerCopyBack?: DockerCopyBackRequest): Promise<RemoteOperation>;
37
52
  private supersedeOpenOperation;
38
53
  list(filter: {
@@ -32,6 +32,13 @@ const remote_operation_types_1 = require("./remote-operation.types");
32
32
  const remote_address_1 = require("../remote-address");
33
33
  const install_host_operation_1 = require("./install-host.operation");
34
34
  const ssh_key_service_1 = require("../host-install/ssh-key.service");
35
+ const connect_choices_store_1 = require("../connect-choices.store");
36
+ const remote_file_sync_service_1 = require("../sync/remote-file-sync.service");
37
+ const git_owner_operation_1 = require("./git-owner.operation");
38
+ const git_owner_store_1 = require("../git-owner.store");
39
+ const remote_host_client_1 = require("./remote-host.client");
40
+ const remote_operation_errors_1 = require("./remote-operation.errors");
41
+ const terminal_activity_service_1 = require("../../terminal/services/terminal-activity.service");
35
42
  const logger = (0, logger_1.createLogger)('RemoteOperationsService');
36
43
  let RemoteOperationsService = class RemoteOperationsService {
37
44
  storage;
@@ -42,7 +49,12 @@ let RemoteOperationsService = class RemoteOperationsService {
42
49
  installHostOperation;
43
50
  sshKeys;
44
51
  health;
45
- constructor(storage, runner, remotes, vault, providers, installHostOperation, sshKeys, health) {
52
+ choices;
53
+ files;
54
+ gitSwitch;
55
+ gitOwners;
56
+ host;
57
+ constructor(storage, runner, remotes, vault, providers, installHostOperation, sshKeys, health, choices, files, gitSwitch, gitOwners, host) {
46
58
  this.storage = storage;
47
59
  this.runner = runner;
48
60
  this.remotes = remotes;
@@ -51,6 +63,112 @@ let RemoteOperationsService = class RemoteOperationsService {
51
63
  this.installHostOperation = installHostOperation;
52
64
  this.sshKeys = sshKeys;
53
65
  this.health = health;
66
+ this.choices = choices;
67
+ this.files = files;
68
+ this.gitSwitch = gitSwitch;
69
+ this.gitOwners = gitOwners;
70
+ this.host = host;
71
+ }
72
+ async gitOwner(remoteId, projectId, owner, force) {
73
+ (0, remote_address_1.requireRemoteAddress)(await this.storage.getRemote(remoteId));
74
+ await this.assertNoOpenVmOperation(remoteId);
75
+ await this.storage.getProject(projectId);
76
+ if (owner === 'vm' && force)
77
+ throw new remote_operation_errors_1.RemoteOperationStepRefusedError('GIT_RETURN_FORCE_UNSUPPORTED', 'Return does not support --force. Run `devchain git return`.');
78
+ const [open] = await this.storage.listRemoteOperations({
79
+ projectId,
80
+ states: ['running', 'failed'],
81
+ limit: 1,
82
+ });
83
+ let cancelledOperationId;
84
+ if (open) {
85
+ if (open.kind !== 'git_owner' || open.remoteId !== remoteId)
86
+ throw inProgress(open, 'Another operation is open for this project.');
87
+ if (open.state === 'running')
88
+ return open;
89
+ await this.runner.whenIdle(open.id);
90
+ const current = await this.storage.getRemoteOperation(open.id);
91
+ if (current.state === 'running')
92
+ return current;
93
+ if (current.state === 'failed') {
94
+ if (current.details.owner === owner && (current.details.force === true) === force)
95
+ return this.retry(current.id);
96
+ await this.runner.cancel(current.id);
97
+ cancelledOperationId = current.id;
98
+ }
99
+ }
100
+ const binding = await this.storage.getRemoteProjectBinding(projectId);
101
+ if (binding?.state !== 'remote' || binding.remoteId !== remoteId)
102
+ throw new remote_operation_errors_1.RemoteOperationStepRefusedError('GIT_PROJECT_NOT_CONNECTED', 'The project must be connected to this VM to move Git.', { projectId, remoteId });
103
+ if (this.gitOwners.get(projectId) === owner)
104
+ return { owner, changed: false, ...(cancelledOperationId && { cancelledOperationId }) };
105
+ await this.gitSwitch.validate(remoteId, projectId);
106
+ const unknownAgents = [];
107
+ if (owner === 'home' && !force) {
108
+ let busy;
109
+ try {
110
+ const sessions = await this.host.listSessions(remoteId, projectId);
111
+ busy = [];
112
+ for (const session of sessions) {
113
+ if (session.status !== 'running' || !session.agentId || session.activityState === 'idle')
114
+ continue;
115
+ const agent = await this.storage.getAgent(session.agentId);
116
+ const starting = session.activityState !== 'busy' &&
117
+ Date.now() - Date.parse(session.startedAt) < terminal_activity_service_1.TURN_FALLBACK_IDLE_MS;
118
+ const state = session.activityState === 'busy' ? 'busy' : starting ? 'starting' : 'unknown';
119
+ const info = {
120
+ agentName: agent.name,
121
+ state,
122
+ since: state === 'busy' ? (session.busySince ?? session.startedAt) : session.startedAt,
123
+ };
124
+ if (state === 'unknown')
125
+ unknownAgents.push(info);
126
+ else
127
+ busy.push(info);
128
+ }
129
+ }
130
+ catch (error) {
131
+ logger.warn({ error, projectId, remoteId }, 'VM agent sessions could not be checked');
132
+ throw new remote_operation_errors_1.RemoteOperationStepRefusedError('GIT_TAKE_AGENTS_UNKNOWN', 'Agent sessions on the VM could not be checked. Try again, or use `devchain git take --force`.');
133
+ }
134
+ if (busy.length)
135
+ throw new remote_operation_errors_1.RemoteOperationStepRefusedError('GIT_TAKE_AGENTS_BUSY', 'Agents on the VM are busy or starting. Wait for them to finish, or use `devchain git take --force`.', { agents: busy });
136
+ }
137
+ return this.runner.start({
138
+ kind: 'git_owner',
139
+ remoteId,
140
+ projectId,
141
+ details: { owner, force, unknownAgents },
142
+ });
143
+ }
144
+ async gitOwnerStatus(projectId) {
145
+ await this.storage.getProject(projectId);
146
+ const binding = await this.storage.getRemoteProjectBinding(projectId);
147
+ const [operation] = await this.storage.listRemoteOperations({
148
+ projectId,
149
+ kinds: ['git_owner'],
150
+ states: ['running', 'failed'],
151
+ limit: 1,
152
+ });
153
+ const remote = binding ? await this.storage.getRemote(binding.remoteId) : null;
154
+ const step = operation?.steps.find((item) => item.state === 'running' || item.state === 'failed') ??
155
+ operation?.steps.find((item) => item.state === 'pending');
156
+ return {
157
+ connected: binding?.state === 'remote',
158
+ remoteId: binding?.remoteId ?? null,
159
+ remoteName: remote?.name ?? null,
160
+ owner: binding ? this.gitOwners.get(projectId) : 'home',
161
+ open: operation
162
+ ? {
163
+ operationId: operation.id,
164
+ owner: operation.details.owner,
165
+ force: operation.details.force === true,
166
+ state: operation.state === 'failed' ? 'failed' : 'running',
167
+ step: step?.id ?? null,
168
+ error: step?.error ?? null,
169
+ }
170
+ : null,
171
+ };
54
172
  }
55
173
  async claim(input) {
56
174
  const port = input.port ?? (0, env_config_1.getEnvConfig)().PORT;
@@ -143,6 +261,7 @@ let RemoteOperationsService = class RemoteOperationsService {
143
261
  userName: identity.user,
144
262
  homePath: identity.homePath,
145
263
  ...(identity.uid !== null ? { uid: identity.uid } : {}),
264
+ ...(identity.gid !== null ? { gid: identity.gid } : {}),
146
265
  version: (0, app_version_1.getAppVersion)(),
147
266
  port: input.port ?? (0, env_config_1.getEnvConfig)().PORT,
148
267
  providerAuth,
@@ -227,11 +346,28 @@ let RemoteOperationsService = class RemoteOperationsService {
227
346
  (0, remote_address_1.requireRemoteAddress)(await this.storage.getRemote(remoteId));
228
347
  await this.assertNoOpenVmOperation(remoteId);
229
348
  await this.storage.getProject(projectId);
230
- return this.runner.start({
349
+ const includeDocker = Boolean(docker?.items.length);
350
+ const operation = await this.runner.start({
231
351
  kind: 'attach',
232
352
  remoteId,
233
353
  projectId,
234
- details: docker?.items.length ? { dockerSelection: docker } : {},
354
+ details: includeDocker ? { dockerSelection: docker } : {},
355
+ });
356
+ this.choices.recordAttach(projectId, remoteId, includeDocker);
357
+ return operation;
358
+ }
359
+ async forceSync(remoteId, projectId, source) {
360
+ (0, remote_address_1.requireRemoteAddress)(await this.storage.getRemote(remoteId));
361
+ await this.assertNoOpenVmOperation(remoteId);
362
+ await this.storage.getProject(projectId);
363
+ const offer = await this.files.forceSyncOffer(projectId);
364
+ if (!offer.offered)
365
+ throw new error_types_1.ConflictError(offer.reason ?? 'Force sync is not available for this project.');
366
+ return this.runner.start({
367
+ kind: 'force_sync',
368
+ remoteId,
369
+ projectId,
370
+ details: { source, forceSync: { source } },
235
371
  });
236
372
  }
237
373
  async detach(remoteId, projectId, force, dockerCopyBack) {
@@ -274,7 +410,13 @@ let RemoteOperationsService = class RemoteOperationsService {
274
410
  if (current.kind === 'detach' && !force) {
275
411
  throw inProgress(current, 'A disconnect failed; retry it or force a new disconnect.');
276
412
  }
277
- if (current.kind !== 'attach' && current.kind !== 'detach') {
413
+ if ((current.kind === 'force_sync' || current.kind === 'git_owner') && !force) {
414
+ throw inProgress(current, `${current.kind === 'git_owner' ? 'The Git switch' : 'Force sync'} failed; retry it, or force a disconnect.`);
415
+ }
416
+ if (current.kind !== 'attach' &&
417
+ current.kind !== 'detach' &&
418
+ current.kind !== 'force_sync' &&
419
+ current.kind !== 'git_owner') {
278
420
  throw inProgress(current, 'Another operation is open for this project.');
279
421
  }
280
422
  return this.runner.supersede(current, { supersededAt: new Date().toISOString() });
@@ -291,6 +433,10 @@ let RemoteOperationsService = class RemoteOperationsService {
291
433
  }
292
434
  async retry(id, providerAuth, ssh) {
293
435
  const operation = await this.storage.getRemoteOperation(id);
436
+ if (operation.kind === 'git_owner' && operation.state === 'failed') {
437
+ await this.runner.whenIdle(id);
438
+ await this.gitSwitch.validate(operation.remoteId, operation.projectId, operation);
439
+ }
294
440
  const mismatch = (0, home_identity_1.claimIdentityMismatch)(operation.kind, operation.details);
295
441
  if (mismatch) {
296
442
  throw new error_types_1.ValidationError(mismatch, {
@@ -444,7 +590,11 @@ exports.RemoteOperationsService = RemoteOperationsService = __decorate([
444
590
  provider_auth_vault_service_1.ProviderAuthVaultService,
445
591
  provider_adapter_factory_1.ProviderAdapterFactory,
446
592
  install_host_operation_1.InstallHostOperation,
447
- ssh_key_service_1.SshKeyService, Object])
593
+ ssh_key_service_1.SshKeyService, Object, connect_choices_store_1.ConnectChoicesStore,
594
+ remote_file_sync_service_1.RemoteFileSyncService,
595
+ git_owner_operation_1.GitOwnerOperation,
596
+ git_owner_store_1.GitOwnerStore,
597
+ remote_host_client_1.RemoteHostClient])
448
598
  ], RemoteOperationsService);
449
599
  function portOf(baseUrl) {
450
600
  const url = new URL(baseUrl);