devchain-cli 0.25.0 → 0.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. package/README.md +1 -1
  2. package/dist/build-info.json +2 -2
  3. package/dist/cli.js +34 -76
  4. package/dist/drizzle/0094_agent_worktree_lanes.sql +20 -0
  5. package/dist/drizzle/meta/0094_snapshot.json +7810 -0
  6. package/dist/drizzle/meta/_journal.json +7 -0
  7. package/dist/host-cli-pins.json +1 -1
  8. package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
  9. package/dist/host-install/pins.json +2 -1
  10. package/dist/lib/git-owner.js +30 -205
  11. package/dist/lib/git-shim.js +417 -0
  12. package/dist/lib/git-supervisor.js +289 -0
  13. package/dist/lib/host-api-key.js +75 -19
  14. package/dist/lib/local-api.js +4 -2
  15. package/dist/lib/local-app-process.js +77 -0
  16. package/dist/node_modules/@devchain/shared/index.d.ts +1 -0
  17. package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
  18. package/dist/node_modules/@devchain/shared/index.js +1 -0
  19. package/dist/node_modules/@devchain/shared/index.js.map +1 -1
  20. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +510 -5
  21. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts.map +1 -1
  22. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js +55 -0
  23. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -1
  24. package/dist/node_modules/@devchain/shared/schemas/index.d.ts +1 -0
  25. package/dist/node_modules/@devchain/shared/schemas/index.d.ts.map +1 -1
  26. package/dist/node_modules/@devchain/shared/schemas/index.js +1 -0
  27. package/dist/node_modules/@devchain/shared/schemas/index.js.map +1 -1
  28. package/dist/node_modules/@devchain/shared/schemas/provider-clis.js +1 -1
  29. package/dist/node_modules/@devchain/shared/schemas/provider-clis.js.map +1 -1
  30. package/dist/node_modules/@devchain/shared/schemas/provider-usage.d.ts +350 -0
  31. package/dist/node_modules/@devchain/shared/schemas/provider-usage.d.ts.map +1 -0
  32. package/dist/node_modules/@devchain/shared/schemas/provider-usage.js +71 -0
  33. package/dist/node_modules/@devchain/shared/schemas/provider-usage.js.map +1 -0
  34. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  35. package/dist/server/app.module.js +4 -0
  36. package/dist/server/app.module.js.map +1 -1
  37. package/dist/server/common/config/env.config.d.ts +3 -0
  38. package/dist/server/common/config/env.config.js +1 -0
  39. package/dist/server/common/config/env.config.js.map +1 -1
  40. package/dist/server/common/config/host-image.json +3 -3
  41. package/dist/server/common/config/vm-destroy-fence.d.ts +18 -0
  42. package/dist/server/common/config/vm-destroy-fence.js +38 -0
  43. package/dist/server/common/config/vm-destroy-fence.js.map +1 -0
  44. package/dist/server/common/errors/error-types.d.ts +3 -0
  45. package/dist/server/common/errors/error-types.js +10 -1
  46. package/dist/server/common/errors/error-types.js.map +1 -1
  47. package/dist/server/common/git-shim-paths.d.ts +5 -0
  48. package/dist/server/common/git-shim-paths.js +25 -0
  49. package/dist/server/common/git-shim-paths.js.map +1 -0
  50. package/dist/server/common/test/fake-bootstrap.server.d.ts +5 -0
  51. package/dist/server/common/test/fake-bootstrap.server.js +12 -3
  52. package/dist/server/common/test/fake-bootstrap.server.js.map +1 -1
  53. package/dist/server/common/test/shared-vm.stub.d.ts +2 -0
  54. package/dist/server/common/test/shared-vm.stub.js +13 -0
  55. package/dist/server/common/test/shared-vm.stub.js.map +1 -0
  56. package/dist/server/main.js +2 -0
  57. package/dist/server/main.js.map +1 -1
  58. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +2 -0
  59. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
  60. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +5 -1
  61. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +11 -2
  62. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
  63. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +506 -1
  64. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +56 -1
  65. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -1
  66. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.d.ts +1 -0
  67. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js +1 -0
  68. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js.map +1 -1
  69. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +1 -0
  70. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  71. package/dist/server/modules/events/catalog/broadcast-registry.js +8 -0
  72. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  73. package/dist/server/modules/events/catalog/index.d.ts +18 -11
  74. package/dist/server/modules/events/catalog/index.js +3 -0
  75. package/dist/server/modules/events/catalog/index.js.map +1 -1
  76. package/dist/server/modules/events/catalog/provider-usage.updated.d.ts +12 -0
  77. package/dist/server/modules/events/catalog/provider-usage.updated.js +13 -0
  78. package/dist/server/modules/events/catalog/provider-usage.updated.js.map +1 -0
  79. package/dist/server/modules/events/catalog/review.comment.created.d.ts +2 -2
  80. package/dist/server/modules/events/catalog/review.created.d.ts +8 -8
  81. package/dist/server/modules/file-sync/file-sync.dto.d.ts +18 -0
  82. package/dist/server/modules/file-sync/file-sync.dto.js +12 -2
  83. package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -1
  84. package/dist/server/modules/file-sync/file-sync.module.js +17 -2
  85. package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
  86. package/dist/server/modules/file-sync/file-sync.service.d.ts +4 -0
  87. package/dist/server/modules/file-sync/file-sync.service.js +35 -0
  88. package/dist/server/modules/file-sync/file-sync.service.js.map +1 -1
  89. package/dist/server/modules/file-sync/git-guard.dto.d.ts +0 -21
  90. package/dist/server/modules/file-sync/git-guard.dto.js +1 -7
  91. package/dist/server/modules/file-sync/git-guard.dto.js.map +1 -1
  92. package/dist/server/modules/file-sync/home-git-guard.service.d.ts +3 -0
  93. package/dist/server/modules/file-sync/home-git-guard.service.js +128 -22
  94. package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -1
  95. package/dist/server/modules/file-sync/host-git-guard.controller.d.ts +3 -1
  96. package/dist/server/modules/file-sync/host-git-guard.controller.js +11 -5
  97. package/dist/server/modules/file-sync/host-git-guard.controller.js.map +1 -1
  98. package/dist/server/modules/file-sync/host-sync.controller.d.ts +11 -7
  99. package/dist/server/modules/file-sync/host-sync.controller.js +53 -20
  100. package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
  101. package/dist/server/modules/file-sync/syncthing-launcher.d.ts +1 -0
  102. package/dist/server/modules/file-sync/syncthing-launcher.js +2 -1
  103. package/dist/server/modules/file-sync/syncthing-launcher.js.map +1 -1
  104. package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +2 -1
  105. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +6 -0
  106. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -1
  107. package/dist/server/modules/git/dtos/git.dto.d.ts +4 -4
  108. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +95 -1
  109. package/dist/server/modules/mcp/dtos/mcp.dto.js +45 -2
  110. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  111. package/dist/server/modules/mcp/mcp-full.module.js +2 -0
  112. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
  113. package/dist/server/modules/mcp/services/handlers/epic-context.d.ts +2 -2
  114. package/dist/server/modules/mcp/services/handlers/epic-tools.js +16 -0
  115. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  116. package/dist/server/modules/mcp/services/handlers/teams-tools.d.ts +1 -0
  117. package/dist/server/modules/mcp/services/handlers/teams-tools.js +51 -0
  118. package/dist/server/modules/mcp/services/handlers/teams-tools.js.map +1 -1
  119. package/dist/server/modules/mcp/services/handlers/worktree-context.d.ts +6 -0
  120. package/dist/server/modules/mcp/services/handlers/worktree-context.js +3 -0
  121. package/dist/server/modules/mcp/services/handlers/worktree-context.js.map +1 -0
  122. package/dist/server/modules/mcp/services/handlers/worktree-tools.d.ts +7 -0
  123. package/dist/server/modules/mcp/services/handlers/worktree-tools.js +77 -0
  124. package/dist/server/modules/mcp/services/handlers/worktree-tools.js.map +1 -0
  125. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +2 -1
  126. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +6 -2
  127. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
  128. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +4 -2
  129. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
  130. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js +2 -2
  131. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -1
  132. package/dist/server/modules/mcp/tool-descriptors/index.js +2 -0
  133. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
  134. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js +2 -0
  135. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js.map +1 -1
  136. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js +1 -0
  137. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js.map +1 -1
  138. package/dist/server/modules/mcp/tool-descriptors/team.metadata.js +33 -0
  139. package/dist/server/modules/mcp/tool-descriptors/team.metadata.js.map +1 -1
  140. package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.d.ts +1 -0
  141. package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.js +20 -0
  142. package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.js.map +1 -0
  143. package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.d.ts +2 -0
  144. package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.js +105 -0
  145. package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.js.map +1 -0
  146. package/dist/server/modules/provider-auth/opencode-credential-family.v2.d.ts +4 -0
  147. package/dist/server/modules/provider-auth/opencode-credential-family.v2.js +41 -0
  148. package/dist/server/modules/provider-auth/opencode-credential-family.v2.js.map +1 -0
  149. package/dist/server/modules/provider-auth/opencode-credentials.d.ts +25 -0
  150. package/dist/server/modules/provider-auth/opencode-credentials.js +102 -0
  151. package/dist/server/modules/provider-auth/opencode-credentials.js.map +1 -0
  152. package/dist/server/modules/provider-auth/opencode-pc-logins.service.d.ts +11 -0
  153. package/dist/server/modules/provider-auth/opencode-pc-logins.service.js +62 -0
  154. package/dist/server/modules/provider-auth/opencode-pc-logins.service.js.map +1 -0
  155. package/dist/server/modules/provider-auth/opencode-pc-logins.v1.d.ts +1 -0
  156. package/dist/server/modules/provider-auth/opencode-pc-logins.v1.js +25 -0
  157. package/dist/server/modules/provider-auth/opencode-pc-logins.v1.js.map +1 -0
  158. package/dist/server/modules/provider-auth/opencode-pc-logins.v2.d.ts +3 -0
  159. package/dist/server/modules/provider-auth/opencode-pc-logins.v2.js +25 -0
  160. package/dist/server/modules/provider-auth/opencode-pc-logins.v2.js.map +1 -0
  161. package/dist/server/modules/provider-auth/provider-auth-adapters.d.ts +4 -1
  162. package/dist/server/modules/provider-auth/provider-auth-adapters.js +65 -33
  163. package/dist/server/modules/provider-auth/provider-auth-adapters.js.map +1 -1
  164. package/dist/server/modules/provider-auth/provider-auth-generator.service.d.ts +3 -1
  165. package/dist/server/modules/provider-auth/provider-auth-generator.service.js +12 -6
  166. package/dist/server/modules/provider-auth/provider-auth-generator.service.js.map +1 -1
  167. package/dist/server/modules/provider-auth/provider-auth-vault.service.d.ts +3 -2
  168. package/dist/server/modules/provider-auth/provider-auth-vault.service.js +8 -25
  169. package/dist/server/modules/provider-auth/provider-auth-vault.service.js.map +1 -1
  170. package/dist/server/modules/provider-auth/provider-auth-watcher.service.d.ts +5 -1
  171. package/dist/server/modules/provider-auth/provider-auth-watcher.service.js +32 -1
  172. package/dist/server/modules/provider-auth/provider-auth-watcher.service.js.map +1 -1
  173. package/dist/server/modules/provider-auth/provider-auth.module.js +4 -0
  174. package/dist/server/modules/provider-auth/provider-auth.module.js.map +1 -1
  175. package/dist/server/modules/provider-usage/checkers/agy.checker.d.ts +15 -0
  176. package/dist/server/modules/provider-usage/checkers/agy.checker.js +129 -0
  177. package/dist/server/modules/provider-usage/checkers/agy.checker.js.map +1 -0
  178. package/dist/server/modules/provider-usage/checkers/checker-helpers.d.ts +4 -0
  179. package/dist/server/modules/provider-usage/checkers/checker-helpers.js +12 -0
  180. package/dist/server/modules/provider-usage/checkers/checker-helpers.js.map +1 -0
  181. package/dist/server/modules/provider-usage/checkers/claude-login.checker.d.ts +10 -0
  182. package/dist/server/modules/provider-usage/checkers/claude-login.checker.js +92 -0
  183. package/dist/server/modules/provider-usage/checkers/claude-login.checker.js.map +1 -0
  184. package/dist/server/modules/provider-usage/checkers/claude-token.checker.d.ts +5 -0
  185. package/dist/server/modules/provider-usage/checkers/claude-token.checker.js +80 -0
  186. package/dist/server/modules/provider-usage/checkers/claude-token.checker.js.map +1 -0
  187. package/dist/server/modules/provider-usage/checkers/claude-usage-parser.d.ts +12 -0
  188. package/dist/server/modules/provider-usage/checkers/claude-usage-parser.js +113 -0
  189. package/dist/server/modules/provider-usage/checkers/claude-usage-parser.js.map +1 -0
  190. package/dist/server/modules/provider-usage/checkers/codex.checker.d.ts +7 -0
  191. package/dist/server/modules/provider-usage/checkers/codex.checker.js +159 -0
  192. package/dist/server/modules/provider-usage/checkers/codex.checker.js.map +1 -0
  193. package/dist/server/modules/provider-usage/checkers/private-cwd.d.ts +1 -0
  194. package/dist/server/modules/provider-usage/checkers/private-cwd.js +8 -0
  195. package/dist/server/modules/provider-usage/checkers/private-cwd.js.map +1 -0
  196. package/dist/server/modules/provider-usage/controllers/provider-usage.controller.d.ts +7 -0
  197. package/dist/server/modules/provider-usage/controllers/provider-usage.controller.js +51 -0
  198. package/dist/server/modules/provider-usage/controllers/provider-usage.controller.js.map +1 -0
  199. package/dist/server/modules/provider-usage/provider-usage.module.d.ts +2 -0
  200. package/dist/server/modules/provider-usage/provider-usage.module.js +58 -0
  201. package/dist/server/modules/provider-usage/provider-usage.module.js.map +1 -0
  202. package/dist/server/modules/provider-usage/provider-usage.types.d.ts +26 -0
  203. package/dist/server/modules/provider-usage/provider-usage.types.js +5 -0
  204. package/dist/server/modules/provider-usage/provider-usage.types.js.map +1 -0
  205. package/dist/server/modules/provider-usage/services/provider-usage-accounts.d.ts +5 -0
  206. package/dist/server/modules/provider-usage/services/provider-usage-accounts.js +94 -0
  207. package/dist/server/modules/provider-usage/services/provider-usage-accounts.js.map +1 -0
  208. package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.d.ts +23 -0
  209. package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.js +81 -0
  210. package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.js.map +1 -0
  211. package/dist/server/modules/provider-usage/services/provider-usage.service.d.ts +37 -0
  212. package/dist/server/modules/provider-usage/services/provider-usage.service.js +262 -0
  213. package/dist/server/modules/provider-usage/services/provider-usage.service.js.map +1 -0
  214. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -2
  215. package/dist/server/modules/providers/adapters/capabilities/index.js +2 -1
  216. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
  217. package/dist/server/modules/providers/adapters/capabilities/provider-plugin.capability.d.ts +16 -2
  218. package/dist/server/modules/providers/adapters/capabilities/session-command.capability.d.ts +5 -0
  219. package/dist/server/modules/providers/adapters/capabilities/session-command.capability.js +3 -0
  220. package/dist/server/modules/providers/adapters/capabilities/session-command.capability.js.map +1 -0
  221. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +4 -1
  222. package/dist/server/modules/providers/adapters/capabilities/type-guards.js +5 -3
  223. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
  224. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +6 -3
  225. package/dist/server/modules/providers/adapters/claude.adapter.js +7 -2
  226. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  227. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +6 -6
  228. package/dist/server/modules/providers/adapters/codex.adapter.js +47 -41
  229. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  230. package/dist/server/modules/providers/adapters/opencode-cli-version.d.ts +13 -0
  231. package/dist/server/modules/providers/adapters/opencode-cli-version.js +24 -0
  232. package/dist/server/modules/providers/adapters/opencode-cli-version.js.map +1 -0
  233. package/dist/server/modules/providers/adapters/opencode-config-content.d.ts +1 -0
  234. package/dist/server/modules/providers/adapters/opencode-config-content.js +43 -0
  235. package/dist/server/modules/providers/adapters/opencode-config-content.js.map +1 -0
  236. package/dist/server/modules/providers/adapters/opencode-launch.v1.d.ts +4 -0
  237. package/dist/server/modules/providers/adapters/opencode-launch.v1.js +10 -0
  238. package/dist/server/modules/providers/adapters/opencode-launch.v1.js.map +1 -0
  239. package/dist/server/modules/providers/adapters/opencode-launch.v2.d.ts +2 -0
  240. package/dist/server/modules/providers/adapters/opencode-launch.v2.js +18 -0
  241. package/dist/server/modules/providers/adapters/opencode-launch.v2.js.map +1 -0
  242. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +3 -4
  243. package/dist/server/modules/providers/adapters/opencode.adapter.js +11 -42
  244. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
  245. package/dist/server/modules/providers/adapters/plugin-catalog.utils.d.ts +3 -0
  246. package/dist/server/modules/providers/adapters/plugin-catalog.utils.js +10 -0
  247. package/dist/server/modules/providers/adapters/plugin-catalog.utils.js.map +1 -1
  248. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +9 -3
  249. package/dist/server/modules/providers/adapters/provider-cli-policy.d.ts +3 -0
  250. package/dist/server/modules/providers/adapters/provider-cli-policy.js +8 -0
  251. package/dist/server/modules/providers/adapters/provider-cli-policy.js.map +1 -1
  252. package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +3 -1
  253. package/dist/server/modules/providers/controllers/provider-models.controller.js +18 -3
  254. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
  255. package/dist/server/modules/providers/providers.module.js +5 -0
  256. package/dist/server/modules/providers/providers.module.js.map +1 -1
  257. package/dist/server/modules/providers/services/codex-app-server.client.d.ts +11 -0
  258. package/dist/server/modules/providers/services/codex-app-server.client.js +129 -0
  259. package/dist/server/modules/providers/services/codex-app-server.client.js.map +1 -0
  260. package/dist/server/modules/providers/services/provider-cli-version-probe.module.d.ts +2 -0
  261. package/dist/server/modules/providers/services/provider-cli-version-probe.module.js +23 -0
  262. package/dist/server/modules/providers/services/provider-cli-version-probe.module.js.map +1 -0
  263. package/dist/server/modules/providers/services/provider-cli-version-probe.service.d.ts +8 -0
  264. package/dist/server/modules/providers/services/provider-cli-version-probe.service.js +65 -0
  265. package/dist/server/modules/providers/services/provider-cli-version-probe.service.js.map +1 -0
  266. package/dist/server/modules/providers/services/provider-plugins.service.d.ts +5 -1
  267. package/dist/server/modules/providers/services/provider-plugins.service.js +43 -16
  268. package/dist/server/modules/providers/services/provider-plugins.service.js.map +1 -1
  269. package/dist/server/modules/providers/utils/codex-config.d.ts +9 -0
  270. package/dist/server/modules/providers/utils/codex-config.js +34 -16
  271. package/dist/server/modules/providers/utils/codex-config.js.map +1 -1
  272. package/dist/server/modules/providers/utils/private-cwd.d.ts +1 -0
  273. package/dist/server/modules/providers/utils/private-cwd.js +12 -0
  274. package/dist/server/modules/providers/utils/private-cwd.js.map +1 -0
  275. package/dist/server/modules/remotes/contract/host-routes.d.ts +2180 -35
  276. package/dist/server/modules/remotes/contract/host-routes.js +168 -16
  277. package/dist/server/modules/remotes/contract/host-routes.js.map +1 -1
  278. package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.d.ts +10 -0
  279. package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.js +59 -0
  280. package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.js.map +1 -0
  281. package/dist/server/modules/remotes/controllers/remotes.controller.js +1 -0
  282. package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -1
  283. package/dist/server/modules/remotes/dtos/remote-notices.dto.d.ts +4 -0
  284. package/dist/server/modules/remotes/dtos/remote-notices.dto.js +3 -0
  285. package/dist/server/modules/remotes/dtos/remote-notices.dto.js.map +1 -0
  286. package/dist/server/modules/remotes/dtos/remote.dto.d.ts +2 -0
  287. package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -1
  288. package/dist/server/modules/remotes/dtos/shared-vm.dto.d.ts +488 -0
  289. package/dist/server/modules/remotes/dtos/shared-vm.dto.js +60 -0
  290. package/dist/server/modules/remotes/dtos/shared-vm.dto.js.map +1 -0
  291. package/dist/server/modules/remotes/git-coordinator/git-checkpoint.d.ts +5 -0
  292. package/dist/server/modules/remotes/git-coordinator/git-checkpoint.js +95 -0
  293. package/dist/server/modules/remotes/git-coordinator/git-checkpoint.js.map +1 -0
  294. package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.d.ts +18 -0
  295. package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.js +192 -0
  296. package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.js.map +1 -0
  297. package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.d.ts +519 -0
  298. package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.js +104 -0
  299. package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.js.map +1 -0
  300. package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.d.ts +66 -0
  301. package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.js +555 -0
  302. package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.js.map +1 -0
  303. package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.d.ts +11 -0
  304. package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.js +69 -0
  305. package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.js.map +1 -0
  306. package/dist/server/modules/remotes/git-coordinator/git-process-identity.d.ts +3 -0
  307. package/dist/server/modules/remotes/git-coordinator/git-process-identity.js +71 -0
  308. package/dist/server/modules/remotes/git-coordinator/git-process-identity.js.map +1 -0
  309. package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.d.ts +19 -0
  310. package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.js +181 -0
  311. package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.js.map +1 -0
  312. package/dist/server/modules/remotes/git-coordinator/loopback.d.ts +2 -0
  313. package/dist/server/modules/remotes/git-coordinator/loopback.js +10 -0
  314. package/dist/server/modules/remotes/git-coordinator/loopback.js.map +1 -0
  315. package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.d.ts +9 -0
  316. package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.js +66 -0
  317. package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.js.map +1 -0
  318. package/dist/server/modules/remotes/git-owner.store.d.ts +102 -1
  319. package/dist/server/modules/remotes/git-owner.store.js +37 -11
  320. package/dist/server/modules/remotes/git-owner.store.js.map +1 -1
  321. package/dist/server/modules/remotes/git-shim/git-shim-registry.service.d.ts +30 -0
  322. package/dist/server/modules/remotes/git-shim/git-shim-registry.service.js +175 -0
  323. package/dist/server/modules/remotes/git-shim/git-shim-registry.service.js.map +1 -0
  324. package/dist/server/modules/remotes/git-writes/change-barrier.d.ts +16 -0
  325. package/dist/server/modules/remotes/git-writes/change-barrier.js +40 -0
  326. package/dist/server/modules/remotes/git-writes/change-barrier.js.map +1 -0
  327. package/dist/server/modules/remotes/git-writes/home-git-handover.service.d.ts +42 -0
  328. package/dist/server/modules/remotes/git-writes/home-git-handover.service.js +349 -0
  329. package/dist/server/modules/remotes/git-writes/home-git-handover.service.js.map +1 -0
  330. package/dist/server/modules/remotes/git-writes/home-git-transitions.d.ts +16 -0
  331. package/dist/server/modules/remotes/git-writes/home-git-transitions.js +12 -0
  332. package/dist/server/modules/remotes/git-writes/home-git-transitions.js.map +1 -0
  333. package/dist/server/modules/remotes/git-writes/home-git-write.controller.d.ts +10 -0
  334. package/dist/server/modules/remotes/git-writes/home-git-write.controller.js +74 -0
  335. package/dist/server/modules/remotes/git-writes/home-git-write.controller.js.map +1 -0
  336. package/dist/server/modules/remotes/git-writes/home-git-write.service.d.ts +72 -0
  337. package/dist/server/modules/remotes/git-writes/home-git-write.service.js +481 -0
  338. package/dist/server/modules/remotes/git-writes/home-git-write.service.js.map +1 -0
  339. package/dist/server/modules/remotes/git-writes/home-git-write.store.d.ts +39 -0
  340. package/dist/server/modules/remotes/git-writes/home-git-write.store.js +78 -0
  341. package/dist/server/modules/remotes/git-writes/home-git-write.store.js.map +1 -0
  342. package/dist/server/modules/remotes/host/host-helper.dto.d.ts +4 -0
  343. package/dist/server/modules/remotes/host/host-helper.dto.js +14 -1
  344. package/dist/server/modules/remotes/host/host-helper.dto.js.map +1 -1
  345. package/dist/server/modules/remotes/host/host-helper.service.d.ts +5 -1
  346. package/dist/server/modules/remotes/host/host-helper.service.js +9 -3
  347. package/dist/server/modules/remotes/host/host-helper.service.js.map +1 -1
  348. package/dist/server/modules/remotes/host/host-opencode-credentials.v2.d.ts +7 -0
  349. package/dist/server/modules/remotes/host/host-opencode-credentials.v2.js +46 -0
  350. package/dist/server/modules/remotes/host/host-opencode-credentials.v2.js.map +1 -0
  351. package/dist/server/modules/remotes/host/host-provider-auth.service.d.ts +11 -2
  352. package/dist/server/modules/remotes/host/host-provider-auth.service.js +92 -14
  353. package/dist/server/modules/remotes/host/host-provider-auth.service.js.map +1 -1
  354. package/dist/server/modules/remotes/host/host-provider-usage-revision.d.ts +2 -0
  355. package/dist/server/modules/remotes/host/host-provider-usage-revision.js +11 -0
  356. package/dist/server/modules/remotes/host/host-provider-usage-revision.js.map +1 -0
  357. package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.d.ts +11 -0
  358. package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.js +62 -0
  359. package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.js.map +1 -0
  360. package/dist/server/modules/remotes/host/host-provider-usage-settings.service.d.ts +9 -0
  361. package/dist/server/modules/remotes/host/host-provider-usage-settings.service.js +35 -0
  362. package/dist/server/modules/remotes/host/host-provider-usage-settings.service.js.map +1 -0
  363. package/dist/server/modules/remotes/host/host-shared-vm.controller.d.ts +24 -0
  364. package/dist/server/modules/remotes/host/host-shared-vm.controller.js +183 -0
  365. package/dist/server/modules/remotes/host/host-shared-vm.controller.js.map +1 -0
  366. package/dist/server/modules/remotes/host/host-shared-vm.service.d.ts +28 -0
  367. package/dist/server/modules/remotes/host/host-shared-vm.service.js +159 -0
  368. package/dist/server/modules/remotes/host/host-shared-vm.service.js.map +1 -0
  369. package/dist/server/modules/remotes/host/host-shared-vm.store.d.ts +18 -0
  370. package/dist/server/modules/remotes/host/host-shared-vm.store.js +105 -0
  371. package/dist/server/modules/remotes/host/host-shared-vm.store.js.map +1 -0
  372. package/dist/server/modules/remotes/host/host-update.controller.js +3 -3
  373. package/dist/server/modules/remotes/host/host-update.controller.js.map +1 -1
  374. package/dist/server/modules/remotes/host/host.service.d.ts +3 -1
  375. package/dist/server/modules/remotes/host/host.service.js +9 -2
  376. package/dist/server/modules/remotes/host/host.service.js.map +1 -1
  377. package/dist/server/modules/remotes/host/shared-vm.contract.d.ts +184 -0
  378. package/dist/server/modules/remotes/host/shared-vm.contract.js +44 -0
  379. package/dist/server/modules/remotes/host/shared-vm.contract.js.map +1 -0
  380. package/dist/server/modules/remotes/host-install/host-install-block.d.ts +2 -0
  381. package/dist/server/modules/remotes/host-install/host-install-block.js +3 -2
  382. package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -1
  383. package/dist/server/modules/remotes/host-install/host-install.service.d.ts +2 -0
  384. package/dist/server/modules/remotes/host-install/host-install.service.js +10 -0
  385. package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -1
  386. package/dist/server/modules/remotes/host-install/host-join-block.d.ts +16 -0
  387. package/dist/server/modules/remotes/host-install/host-join-block.js +122 -0
  388. package/dist/server/modules/remotes/host-install/host-join-block.js.map +1 -0
  389. package/dist/server/modules/remotes/host-install/ssh-runner.d.ts +1 -0
  390. package/dist/server/modules/remotes/host-install/ssh-runner.js +2 -2
  391. package/dist/server/modules/remotes/host-install/ssh-runner.js.map +1 -1
  392. package/dist/server/modules/remotes/operations/attach.operation.d.ts +9 -2
  393. package/dist/server/modules/remotes/operations/attach.operation.js +38 -11
  394. package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -1
  395. package/dist/server/modules/remotes/operations/claim.operation.d.ts +4 -0
  396. package/dist/server/modules/remotes/operations/claim.operation.js +15 -0
  397. package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -1
  398. package/dist/server/modules/remotes/operations/claude-user-instructions.d.ts +2 -0
  399. package/dist/server/modules/remotes/operations/claude-user-instructions.js +23 -0
  400. package/dist/server/modules/remotes/operations/claude-user-instructions.js.map +1 -0
  401. package/dist/server/modules/remotes/operations/destroy-vm.operation.d.ts +4 -2
  402. package/dist/server/modules/remotes/operations/destroy-vm.operation.js +43 -23
  403. package/dist/server/modules/remotes/operations/destroy-vm.operation.js.map +1 -1
  404. package/dist/server/modules/remotes/operations/detach.operation.d.ts +12 -1
  405. package/dist/server/modules/remotes/operations/detach.operation.js +106 -29
  406. package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -1
  407. package/dist/server/modules/remotes/operations/disconnect-all.operation.d.ts +50 -0
  408. package/dist/server/modules/remotes/operations/disconnect-all.operation.js +222 -0
  409. package/dist/server/modules/remotes/operations/disconnect-all.operation.js.map +1 -0
  410. package/dist/server/modules/remotes/operations/file-sync-handoff.d.ts +3 -1
  411. package/dist/server/modules/remotes/operations/file-sync-handoff.js +69 -68
  412. package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -1
  413. package/dist/server/modules/remotes/operations/git-owner.dto.d.ts +10 -44
  414. package/dist/server/modules/remotes/operations/git-owner.dto.js +1 -12
  415. package/dist/server/modules/remotes/operations/git-owner.dto.js.map +1 -1
  416. package/dist/server/modules/remotes/operations/guarded-vm-destroy.d.ts +2 -0
  417. package/dist/server/modules/remotes/operations/guarded-vm-destroy.js +14 -0
  418. package/dist/server/modules/remotes/operations/guarded-vm-destroy.js.map +1 -1
  419. package/dist/server/modules/remotes/operations/install-host.operation.d.ts +21 -1
  420. package/dist/server/modules/remotes/operations/install-host.operation.js +285 -27
  421. package/dist/server/modules/remotes/operations/install-host.operation.js.map +1 -1
  422. package/dist/server/modules/remotes/operations/remote-host.client.d.ts +51 -12
  423. package/dist/server/modules/remotes/operations/remote-host.client.js +129 -23
  424. package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
  425. package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +161 -0
  426. package/dist/server/modules/remotes/operations/remote-operation.dto.js +12 -1
  427. package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -1
  428. package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +4 -2
  429. package/dist/server/modules/remotes/operations/remote-operation.runner.js +53 -9
  430. package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -1
  431. package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +6 -3
  432. package/dist/server/modules/remotes/operations/remote-operation.types.js +10 -1
  433. package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -1
  434. package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +2 -3
  435. package/dist/server/modules/remotes/operations/remote-operations.controller.js +20 -25
  436. package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -1
  437. package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +11 -9
  438. package/dist/server/modules/remotes/operations/remote-operations.service.js +123 -118
  439. package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -1
  440. package/dist/server/modules/remotes/operations/remote-worktree-guard.d.ts +16 -0
  441. package/dist/server/modules/remotes/operations/remote-worktree-guard.js +100 -0
  442. package/dist/server/modules/remotes/operations/remote-worktree-guard.js.map +1 -0
  443. package/dist/server/modules/remotes/operations/reset-vm.operation.d.ts +15 -2
  444. package/dist/server/modules/remotes/operations/reset-vm.operation.js +115 -15
  445. package/dist/server/modules/remotes/operations/reset-vm.operation.js.map +1 -1
  446. package/dist/server/modules/remotes/operations/update-host.operation.d.ts +2 -0
  447. package/dist/server/modules/remotes/operations/update-host.operation.js +11 -5
  448. package/dist/server/modules/remotes/operations/update-host.operation.js.map +1 -1
  449. package/dist/server/modules/remotes/operations/vm-operations.controller.d.ts +5 -1
  450. package/dist/server/modules/remotes/operations/vm-operations.controller.js +36 -2
  451. package/dist/server/modules/remotes/operations/vm-operations.controller.js.map +1 -1
  452. package/dist/server/modules/remotes/operations/vm-operations.dto.d.ts +150 -0
  453. package/dist/server/modules/remotes/operations/vm-operations.dto.js +9 -1
  454. package/dist/server/modules/remotes/operations/vm-operations.dto.js.map +1 -1
  455. package/dist/server/modules/remotes/operations/vm-operations.service.d.ts +3 -1
  456. package/dist/server/modules/remotes/operations/vm-operations.service.js +38 -15
  457. package/dist/server/modules/remotes/operations/vm-operations.service.js.map +1 -1
  458. package/dist/server/modules/remotes/ports/remote-health.port.d.ts +2 -0
  459. package/dist/server/modules/remotes/ports/remote-health.port.js.map +1 -1
  460. package/dist/server/modules/remotes/remotes.module.js +47 -2
  461. package/dist/server/modules/remotes/remotes.module.js.map +1 -1
  462. package/dist/server/modules/remotes/services/home-shared-vm-notices.service.d.ts +18 -0
  463. package/dist/server/modules/remotes/services/home-shared-vm-notices.service.js +81 -0
  464. package/dist/server/modules/remotes/services/home-shared-vm-notices.service.js.map +1 -0
  465. package/dist/server/modules/remotes/services/remote-forced-detach.service.d.ts +11 -0
  466. package/dist/server/modules/remotes/services/remote-forced-detach.service.js +69 -0
  467. package/dist/server/modules/remotes/services/remote-forced-detach.service.js.map +1 -0
  468. package/dist/server/modules/remotes/services/remote-forced-detach.store.d.ts +23 -0
  469. package/dist/server/modules/remotes/services/remote-forced-detach.store.js +73 -0
  470. package/dist/server/modules/remotes/services/remote-forced-detach.store.js.map +1 -0
  471. package/dist/server/modules/remotes/services/remote-health.service.d.ts +7 -1
  472. package/dist/server/modules/remotes/services/remote-health.service.js +41 -4
  473. package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -1
  474. package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.d.ts +13 -0
  475. package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.js +57 -0
  476. package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.js.map +1 -0
  477. package/dist/server/modules/remotes/services/remote-shared-vm.service.d.ts +37 -0
  478. package/dist/server/modules/remotes/services/remote-shared-vm.service.js +184 -0
  479. package/dist/server/modules/remotes/services/remote-shared-vm.service.js.map +1 -0
  480. package/dist/server/modules/remotes/services/remote-shared-vm.store.d.ts +11 -0
  481. package/dist/server/modules/remotes/services/remote-shared-vm.store.js +75 -0
  482. package/dist/server/modules/remotes/services/remote-shared-vm.store.js.map +1 -0
  483. package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +5 -1
  484. package/dist/server/modules/remotes/sync/remote-file-sync.service.js +95 -41
  485. package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -1
  486. package/dist/server/modules/remotes/time/project-time-settler.dto.d.ts +2 -2
  487. package/dist/server/modules/remotes/transport/host-transport.d.ts +2 -0
  488. package/dist/server/modules/remotes/transport/host-transport.js +7 -0
  489. package/dist/server/modules/remotes/transport/host-transport.js.map +1 -1
  490. package/dist/server/modules/reviews/dtos/review.dto.d.ts +2 -2
  491. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.d.ts +5 -1
  492. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +25 -5
  493. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
  494. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.d.ts +6 -4
  495. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js +17 -20
  496. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js.map +1 -1
  497. package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.d.ts +61 -0
  498. package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.js +250 -0
  499. package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.js.map +1 -0
  500. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +1 -0
  501. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +1 -0
  502. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -1
  503. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.d.ts +3 -1
  504. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js +34 -13
  505. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js.map +1 -1
  506. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +1 -0
  507. package/dist/server/modules/session-reader/data/pricing.json +302 -61
  508. package/dist/server/modules/session-reader/readers/opencode-sqlite.db.d.ts +73 -0
  509. package/dist/server/modules/session-reader/readers/opencode-sqlite.db.js +176 -0
  510. package/dist/server/modules/session-reader/readers/opencode-sqlite.db.js.map +1 -0
  511. package/dist/server/modules/session-reader/readers/opencode-sqlite.v1.reader.d.ts +45 -0
  512. package/dist/server/modules/session-reader/readers/{opencode-sqlite.reader.js → opencode-sqlite.v1.reader.js} +171 -164
  513. package/dist/server/modules/session-reader/readers/opencode-sqlite.v1.reader.js.map +1 -0
  514. package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.d.ts +15 -0
  515. package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.js +474 -0
  516. package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.js.map +1 -0
  517. package/dist/server/modules/session-reader/services/pricing.interface.d.ts +1 -0
  518. package/dist/server/modules/session-reader/services/pricing.interface.js.map +1 -1
  519. package/dist/server/modules/session-reader/services/pricing.service.d.ts +1 -0
  520. package/dist/server/modules/session-reader/services/pricing.service.js +3 -0
  521. package/dist/server/modules/session-reader/services/pricing.service.js.map +1 -1
  522. package/dist/server/modules/session-reader/services/session-reader.service.js +6 -1
  523. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  524. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +3 -0
  525. package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
  526. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  527. package/dist/server/modules/sessions/services/message-pool.types.d.ts +6 -0
  528. package/dist/server/modules/sessions/services/message-pool.types.js +6 -1
  529. package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -1
  530. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +2 -0
  531. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +18 -1
  532. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
  533. package/dist/server/modules/sessions/services/provider-runtime-preparation/launch-script.d.ts +5 -0
  534. package/dist/server/modules/sessions/services/provider-runtime-preparation/launch-script.js +37 -0
  535. package/dist/server/modules/sessions/services/provider-runtime-preparation/launch-script.js.map +1 -0
  536. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +8 -1
  537. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +50 -2
  538. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -1
  539. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.d.ts +1 -0
  540. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +7 -2
  541. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +4 -4
  542. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -1
  543. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +2 -0
  544. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +2 -0
  545. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  546. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +6 -7
  547. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  548. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +1 -2
  549. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  550. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +1 -0
  551. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +30 -0
  552. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  553. package/dist/server/modules/sessions/sessions.module.js +15 -0
  554. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  555. package/dist/server/modules/settings/dtos/settings.dto.d.ts +33 -0
  556. package/dist/server/modules/settings/dtos/settings.dto.js +2 -0
  557. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  558. package/dist/server/modules/settings/local/delegates/core-settings.delegate.d.ts +3 -0
  559. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +35 -0
  560. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
  561. package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js +6 -1
  562. package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js.map +1 -1
  563. package/dist/server/modules/settings/services/settings.service.d.ts +2 -1
  564. package/dist/server/modules/settings/services/settings.service.js +3 -0
  565. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  566. package/dist/server/modules/storage/db/schema.d.ts +235 -0
  567. package/dist/server/modules/storage/db/schema.js +22 -1
  568. package/dist/server/modules/storage/db/schema.js.map +1 -1
  569. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +10 -2
  570. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  571. package/dist/server/modules/storage/local/delegates/project-replica.delegate.js +7 -0
  572. package/dist/server/modules/storage/local/delegates/project-replica.delegate.js.map +1 -1
  573. package/dist/server/modules/storage/local/delegates/worktree.delegate.d.ts +14 -0
  574. package/dist/server/modules/storage/local/delegates/worktree.delegate.js +89 -0
  575. package/dist/server/modules/storage/local/delegates/worktree.delegate.js.map +1 -0
  576. package/dist/server/modules/storage/local/helpers/host-abandoned-projects.d.ts +5 -0
  577. package/dist/server/modules/storage/local/helpers/host-abandoned-projects.js +39 -0
  578. package/dist/server/modules/storage/local/helpers/host-abandoned-projects.js.map +1 -0
  579. package/dist/server/modules/storage/local/local-storage.service.js +2 -0
  580. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  581. package/dist/server/modules/storage/local/storage-routes.d.ts +26 -0
  582. package/dist/server/modules/storage/local/storage-routes.js +9 -0
  583. package/dist/server/modules/storage/local/storage-routes.js.map +1 -1
  584. package/dist/server/modules/storage/models/domain.models.d.ts +20 -1
  585. package/dist/server/modules/storage/models/domain.models.js +1 -0
  586. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  587. package/dist/server/modules/storage/write-gate/storage-write-scope.d.ts +1 -0
  588. package/dist/server/modules/storage/write-gate/storage-write-scope.js +1 -0
  589. package/dist/server/modules/storage/write-gate/storage-write-scope.js.map +1 -1
  590. package/dist/server/modules/teams/services/teams.service.d.ts +46 -6
  591. package/dist/server/modules/teams/services/teams.service.js +129 -8
  592. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  593. package/dist/server/modules/teams/teams.module.js +14 -1
  594. package/dist/server/modules/teams/teams.module.js.map +1 -1
  595. package/dist/server/modules/terminal/services/terminal-io/delivery.d.ts +2 -2
  596. package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -1
  597. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +1 -1
  598. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +6 -1
  599. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
  600. package/dist/server/modules/vm-providers/proxmox-vm.provider.d.ts +1 -0
  601. package/dist/server/modules/vm-providers/proxmox-vm.provider.js +17 -0
  602. package/dist/server/modules/vm-providers/proxmox-vm.provider.js.map +1 -1
  603. package/dist/server/modules/worktrees/git-output.d.ts +5 -0
  604. package/dist/server/modules/worktrees/git-output.js +53 -0
  605. package/dist/server/modules/worktrees/git-output.js.map +1 -0
  606. package/dist/server/modules/worktrees/host-worktrees.controller.d.ts +10 -0
  607. package/dist/server/modules/worktrees/host-worktrees.controller.js +59 -0
  608. package/dist/server/modules/worktrees/host-worktrees.controller.js.map +1 -0
  609. package/dist/server/modules/worktrees/host-worktrees.dto.d.ts +40 -0
  610. package/dist/server/modules/worktrees/host-worktrees.dto.js +9 -0
  611. package/dist/server/modules/worktrees/host-worktrees.dto.js.map +1 -0
  612. package/dist/server/modules/worktrees/project-git-mutex.d.ts +5 -0
  613. package/dist/server/modules/worktrees/project-git-mutex.js +38 -0
  614. package/dist/server/modules/worktrees/project-git-mutex.js.map +1 -0
  615. package/dist/server/modules/worktrees/worktree-admission.service.d.ts +15 -0
  616. package/dist/server/modules/worktrees/worktree-admission.service.js +87 -0
  617. package/dist/server/modules/worktrees/worktree-admission.service.js.map +1 -0
  618. package/dist/server/modules/worktrees/worktree-git-runner.d.ts +12 -0
  619. package/dist/server/modules/worktrees/worktree-git-runner.js +57 -0
  620. package/dist/server/modules/worktrees/worktree-git-runner.js.map +1 -0
  621. package/dist/server/modules/worktrees/worktrees.errors.d.ts +5 -0
  622. package/dist/server/modules/worktrees/worktrees.errors.js +11 -0
  623. package/dist/server/modules/worktrees/worktrees.errors.js.map +1 -0
  624. package/dist/server/modules/worktrees/worktrees.module.d.ts +2 -0
  625. package/dist/server/modules/worktrees/worktrees.module.js +37 -0
  626. package/dist/server/modules/worktrees/worktrees.module.js.map +1 -0
  627. package/dist/server/modules/worktrees/worktrees.service.d.ts +50 -0
  628. package/dist/server/modules/worktrees/worktrees.service.js +586 -0
  629. package/dist/server/modules/worktrees/worktrees.service.js.map +1 -0
  630. package/dist/server/modules/worktrees/worktrees.types.d.ts +58 -0
  631. package/dist/server/modules/worktrees/worktrees.types.js +3 -0
  632. package/dist/server/modules/worktrees/worktrees.types.js.map +1 -0
  633. package/dist/server/templates/teams-dev.json +6 -6
  634. package/dist/server/tsconfig.build.tsbuildinfo +1 -1
  635. package/dist/server/ui/assets/{ExternalRichEditor-CB-LjWox.js → ExternalRichEditor-NpBNzn_X.js} +1 -1
  636. package/dist/server/ui/assets/{ReviewDetailPage-CpMMjYet.js → ReviewDetailPage-DxVCE1zh.js} +1 -1
  637. package/dist/server/ui/assets/{ReviewsPage-Cw17_agp.js → ReviewsPage-Bx6jkULr.js} +1 -1
  638. package/dist/server/ui/assets/index-BZjQEWOy.css +32 -0
  639. package/dist/server/ui/assets/{index-DmRXRpSy.js → index-CLPZxkZt.js} +263 -263
  640. package/dist/server/ui/assets/{useReviewSubscription-wd5iHNQy.js → useReviewSubscription-BLuFzXjh.js} +1 -1
  641. package/dist/server/ui/index.html +2 -2
  642. package/dist/templates/teams-dev.json +6 -6
  643. package/npm-shrinkwrap.json +6189 -0
  644. package/package.json +22 -22
  645. package/dist/server/modules/file-sync/host-git-index.controller.d.ts +0 -10
  646. package/dist/server/modules/file-sync/host-git-index.controller.js +0 -67
  647. package/dist/server/modules/file-sync/host-git-index.controller.js.map +0 -1
  648. package/dist/server/modules/remotes/operations/git-owner.operation.d.ts +0 -35
  649. package/dist/server/modules/remotes/operations/git-owner.operation.js +0 -216
  650. package/dist/server/modules/remotes/operations/git-owner.operation.js.map +0 -1
  651. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.d.ts +0 -73
  652. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js.map +0 -1
  653. package/dist/server/ui/assets/index-BwuNu70G.css +0 -32
@@ -0,0 +1,16 @@
1
+ import { type WorktreeStorage } from '../../storage/interfaces/storage.interface';
2
+ import { type RemoteHealthPort } from '../ports/remote-health.port';
3
+ import { RemoteHostClient } from './remote-host.client';
4
+ export declare const UNKNOWN_VM_LANES_WARNING = "Lanes on the VM are unknown and may be lost.";
5
+ export declare class RemoteWorktreeGuard {
6
+ private readonly storage;
7
+ private readonly host;
8
+ private readonly health;
9
+ constructor(storage: WorktreeStorage, host: RemoteHostClient, health: RemoteHealthPort);
10
+ assertLocalEmpty(projectId: string): Promise<void>;
11
+ assertRemoteEmpty(remoteId: string, projectId: string): Promise<void>;
12
+ freezeRemoteEmpty(remoteId: string, projectId: string, recordFreeze: () => Promise<void>): Promise<string | null>;
13
+ thawRemoteAdmission(remoteId: string, projectId: string): Promise<boolean>;
14
+ private unreachable;
15
+ private assertEmpty;
16
+ }
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.RemoteWorktreeGuard = exports.UNKNOWN_VM_LANES_WARNING = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const storage_interface_1 = require("../../storage/interfaces/storage.interface");
18
+ const remote_health_port_1 = require("../ports/remote-health.port");
19
+ const remote_host_client_1 = require("./remote-host.client");
20
+ const remote_operation_errors_1 = require("./remote-operation.errors");
21
+ exports.UNKNOWN_VM_LANES_WARNING = 'Lanes on the VM are unknown and may be lost.';
22
+ let RemoteWorktreeGuard = class RemoteWorktreeGuard {
23
+ storage;
24
+ host;
25
+ health;
26
+ constructor(storage, host, health) {
27
+ this.storage = storage;
28
+ this.host = host;
29
+ this.health = health;
30
+ }
31
+ async assertLocalEmpty(projectId) {
32
+ this.assertEmpty(projectId, await this.storage.listWorktrees(projectId));
33
+ }
34
+ async assertRemoteEmpty(remoteId, projectId) {
35
+ if (!this.health.getState(remoteId).online) {
36
+ throw new remote_operation_errors_1.RemoteOperationStepRefusedError('REMOTE_OFFLINE', 'The remote is offline; use a forced Disconnect or reset to keep the last mirrored state.', { remoteId });
37
+ }
38
+ let lanes;
39
+ try {
40
+ lanes = (await this.host.listWorktrees(remoteId, projectId)).lanes;
41
+ }
42
+ catch {
43
+ throw new remote_operation_errors_1.RemoteOperationStepRefusedError('LANES_UNKNOWN', 'The VM lanes could not be checked. Restore the VM connection and try again.', { remoteId, projectId });
44
+ }
45
+ this.assertEmpty(projectId, lanes);
46
+ }
47
+ async freezeRemoteEmpty(remoteId, projectId, recordFreeze) {
48
+ if (!this.health.getState(remoteId).online)
49
+ return exports.UNKNOWN_VM_LANES_WARNING;
50
+ await recordFreeze();
51
+ try {
52
+ await this.host.setLaneAdmission(remoteId, projectId, true);
53
+ await this.assertRemoteEmpty(remoteId, projectId);
54
+ return null;
55
+ }
56
+ catch (error) {
57
+ if (error instanceof remote_operation_errors_1.RemoteOperationStepRefusedError && error.code === 'LANES_EXIST')
58
+ throw error;
59
+ if (await this.unreachable(remoteId))
60
+ return exports.UNKNOWN_VM_LANES_WARNING;
61
+ if (error instanceof remote_operation_errors_1.RemoteOperationStepRefusedError)
62
+ throw error;
63
+ throw new remote_operation_errors_1.RemoteOperationStepRefusedError('LANES_UNKNOWN', 'The VM lane admission could not be closed. Restore the VM connection and try again.', { remoteId, projectId });
64
+ }
65
+ }
66
+ async thawRemoteAdmission(remoteId, projectId) {
67
+ try {
68
+ await this.host.setLaneAdmission(remoteId, projectId, false);
69
+ return true;
70
+ }
71
+ catch (error) {
72
+ if (await this.unreachable(remoteId))
73
+ return false;
74
+ throw error;
75
+ }
76
+ }
77
+ async unreachable(remoteId) {
78
+ try {
79
+ const health = await this.health.refresh(remoteId);
80
+ return !health.online && !health.apiKeyRejected;
81
+ }
82
+ catch {
83
+ return false;
84
+ }
85
+ }
86
+ assertEmpty(projectId, lanes) {
87
+ if (lanes.length > 0) {
88
+ const names = lanes.map((lane) => lane.name);
89
+ throw new remote_operation_errors_1.RemoteOperationStepRefusedError('LANES_EXIST', `Remove the project lanes before handing off: ${names.join(', ')}.`, { projectId, names });
90
+ }
91
+ }
92
+ };
93
+ exports.RemoteWorktreeGuard = RemoteWorktreeGuard;
94
+ exports.RemoteWorktreeGuard = RemoteWorktreeGuard = __decorate([
95
+ (0, common_1.Injectable)(),
96
+ __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
97
+ __param(2, (0, common_1.Inject)(remote_health_port_1.REMOTE_HEALTH_PORT)),
98
+ __metadata("design:paramtypes", [Object, remote_host_client_1.RemoteHostClient, Object])
99
+ ], RemoteWorktreeGuard);
100
+ //# sourceMappingURL=remote-worktree-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-worktree-guard.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/remote-worktree-guard.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { RemoteWorktreeGuard } from './remote-worktree-guard';
1
2
  import { DockerImportInventoryStore } from './docker-import-inventory.store';
2
3
  import { type RemoteStorage } from '../../storage/interfaces/storage.interface';
3
4
  import type { RemoteOperation } from '../../storage/models/domain.models';
@@ -6,11 +7,17 @@ import { VmProvidersService } from '../../vm-providers/vm-providers.service';
6
7
  import { AttachOperation } from './attach.operation';
7
8
  import { CreateVmOperation, type CreateVmDetails } from './create-vm.operation';
8
9
  import { DetachOperation, type DetachDetails } from './detach.operation';
10
+ import { RemoteSharedVmService, type SharedVmOperationDetails } from '../services/remote-shared-vm.service';
9
11
  import { type RemoteOperationDefinition, type RemoteOperationStepDefinition } from './remote-operation.types';
10
- export interface ResetVmDetails extends CreateVmDetails {
12
+ export interface ResetVmDetails extends CreateVmDetails, SharedVmOperationDetails {
11
13
  oldIdentity: string;
12
14
  projectIds: string[];
13
15
  force: boolean;
16
+ laneWarnings?: Array<{
17
+ projectId: string;
18
+ warning: string;
19
+ }>;
20
+ lanesFrozen?: string[];
14
21
  familyPull?: PullFamiliesResult;
15
22
  oldVmid?: number;
16
23
  oldDestroyAttempted?: boolean;
@@ -30,18 +37,24 @@ export declare class ResetVmOperation implements RemoteOperationDefinition {
30
37
  private readonly create;
31
38
  private readonly attach;
32
39
  private readonly inventory;
40
+ private readonly worktrees;
41
+ private readonly sharedVm;
33
42
  readonly kind: "reset_vm";
34
43
  readonly steps: readonly RemoteOperationStepDefinition[];
35
- constructor(storage: RemoteStorage, providers: VmProvidersService, writeback: ProviderAuthWritebackService, detach: DetachOperation, create: CreateVmOperation, attach: AttachOperation, inventory: DockerImportInventoryStore);
44
+ constructor(storage: RemoteStorage, providers: VmProvidersService, writeback: ProviderAuthWritebackService, detach: DetachOperation, create: CreateVmOperation, attach: AttachOperation, inventory: DockerImportInventoryStore, worktrees: RemoteWorktreeGuard, sharedVm: RemoteSharedVmService);
36
45
  stepsFor(raw: Record<string, unknown>): readonly RemoteOperationStepDefinition[];
37
46
  assertCancellable(operation: RemoteOperation): void;
38
47
  interrupt(id: string): Promise<void>;
39
48
  forget(id: string): void;
40
49
  retryFrom(operation: RemoteOperation): string | null;
50
+ reconcileRetry(operation: RemoteOperation): Pick<RemoteOperation, 'steps' | 'details'> | null;
41
51
  rollback(operation: RemoteOperation): Promise<void>;
42
52
  private preflight;
43
53
  private pullFamilies;
44
54
  private recordLoss;
45
55
  private destroy;
46
56
  private projectStep;
57
+ private protectProjectLanes;
58
+ private protectLanes;
59
+ private thawLanes;
47
60
  }
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ResetVmOperation = void 0;
16
+ const remote_worktree_guard_1 = require("./remote-worktree-guard");
16
17
  const docker_import_inventory_store_1 = require("./docker-import-inventory.store");
17
18
  const common_1 = require("@nestjs/common");
18
19
  const error_types_1 = require("../../../common/errors/error-types");
@@ -25,6 +26,7 @@ const detach_operation_1 = require("./detach.operation");
25
26
  const remote_operation_errors_1 = require("./remote-operation.errors");
26
27
  const guarded_vm_destroy_1 = require("./guarded-vm-destroy");
27
28
  const vm_operations_dto_1 = require("./vm-operations.dto");
29
+ const remote_shared_vm_service_1 = require("../services/remote-shared-vm.service");
28
30
  const remote_operation_types_1 = require("./remote-operation.types");
29
31
  let ResetVmOperation = class ResetVmOperation {
30
32
  storage;
@@ -34,9 +36,11 @@ let ResetVmOperation = class ResetVmOperation {
34
36
  create;
35
37
  attach;
36
38
  inventory;
39
+ worktrees;
40
+ sharedVm;
37
41
  kind = 'reset_vm';
38
42
  steps = [];
39
- constructor(storage, providers, writeback, detach, create, attach, inventory) {
43
+ constructor(storage, providers, writeback, detach, create, attach, inventory, worktrees, sharedVm) {
40
44
  this.storage = storage;
41
45
  this.providers = providers;
42
46
  this.writeback = writeback;
@@ -44,10 +48,12 @@ let ResetVmOperation = class ResetVmOperation {
44
48
  this.create = create;
45
49
  this.attach = attach;
46
50
  this.inventory = inventory;
51
+ this.worktrees = worktrees;
52
+ this.sharedVm = sharedVm;
47
53
  }
48
54
  stepsFor(raw) {
49
55
  const details = raw;
50
- return [
56
+ const steps = [
51
57
  { id: 'preflight', label: 'Check the VM', run: (c) => this.preflight(c) },
52
58
  {
53
59
  id: 'pull_families',
@@ -56,16 +62,32 @@ let ResetVmOperation = class ResetVmOperation {
56
62
  },
57
63
  ...details.projectIds.flatMap((projectId) => this.detach
58
64
  .stepsFor({ force: details.force })
65
+ .filter((step) => step.id !== 'thaw_lanes')
59
66
  .map((step) => this.projectStep('detach', projectId, step, details.force))),
60
67
  {
61
68
  id: 'record_loss',
62
69
  label: 'Record what the forced reset loses',
63
70
  run: (c) => this.recordLoss(c),
64
71
  },
72
+ (0, remote_shared_vm_service_1.notifyForcedStep)(() => this.sharedVm),
65
73
  { id: 'destroy', label: 'Destroy the old VM', run: (c) => this.destroy(c) },
66
74
  ...(0, remote_operation_types_1.prefixSteps)(this.create.steps, 'create_'),
67
75
  ...details.projectIds.flatMap((projectId) => this.attach.steps.map((step) => this.projectStep('attach', projectId, step, false))),
68
76
  ];
77
+ return steps.map((step) => ({
78
+ ...step,
79
+ run: async (run) => {
80
+ try {
81
+ if (step.id === 'destroy' && run.details.force)
82
+ await this.protectLanes(run);
83
+ await step.run(run);
84
+ }
85
+ catch (error) {
86
+ await this.thawLanes({ ...run.operation, details: run.details }, run.progress);
87
+ throw error;
88
+ }
89
+ },
90
+ }));
69
91
  }
70
92
  assertCancellable(operation) {
71
93
  if (operation.steps.some((step) => step.id.startsWith('detach:') && step.state !== 'pending' && step.state !== 'skipped') ||
@@ -89,10 +111,36 @@ let ResetVmOperation = class ResetVmOperation {
89
111
  const from = this.create.retryFrom(createOperation(operation));
90
112
  return from ? `create_${from}` : null;
91
113
  }
114
+ reconcileRetry(operation) {
115
+ const reset = operation.details;
116
+ if (!reset.force)
117
+ return null;
118
+ const definitions = new Map(this.stepsFor(operation.details).map((step) => [step.id, step]));
119
+ const detachDetails = { ...reset.detachDetails };
120
+ for (const [projectId, nested] of Object.entries(detachDetails)) {
121
+ const prefix = `detach:${projectId}:`;
122
+ if (operation.steps.some((step) => step.id.startsWith(prefix) && step.state !== 'done' && step.state !== 'skipped')) {
123
+ detachDetails[projectId] = { ...nested, force: true };
124
+ }
125
+ }
126
+ return {
127
+ details: { ...operation.details, ...(reset.detachDetails && { detachDetails }) },
128
+ steps: operation.steps.map((step) => (step.state === 'pending' || step.state === 'failed') &&
129
+ definitions.get(step.id)?.skip?.(operation.details)
130
+ ? { ...step, state: 'skipped', error: null }
131
+ : step),
132
+ };
133
+ }
92
134
  async rollback(operation) {
93
- await this.create.rollbackNewVm(createOperation(operation));
135
+ try {
136
+ await this.create.rollbackNewVm(createOperation(operation));
137
+ }
138
+ finally {
139
+ await this.thawLanes(operation);
140
+ }
94
141
  }
95
- async preflight({ operation, details }) {
142
+ async preflight(run) {
143
+ const { operation, details } = run;
96
144
  const reset = details;
97
145
  const remote = await this.storage.getRemote(operation.remoteId);
98
146
  if (remote.kind !== 'proxmox' ||
@@ -104,11 +152,13 @@ let ResetVmOperation = class ResetVmOperation {
104
152
  if (reset.spec.memory < vm_operations_dto_1.MIN_VM_MEMORY_MIB) {
105
153
  throw new remote_operation_errors_1.RemoteOperationStepRefusedError('VM_MEMORY_TOO_SMALL', 'Reset needs 4096 MiB of memory for the claim/update install.');
106
154
  }
155
+ await this.sharedVm.assertAllowed(operation.remoteId, reset);
107
156
  const current = (await this.storage.listRemoteProjectBindings()).filter((binding) => binding.remoteId === operation.remoteId);
108
157
  if (current.length !== reset.projectIds.length ||
109
158
  current.some((binding) => binding.state !== 'remote' || !reset.projectIds.includes(binding.projectId))) {
110
159
  throw new remote_operation_errors_1.RemoteOperationStepRefusedError('RESET_BINDINGS_CHANGED', 'The connected projects changed after reset was requested.');
111
160
  }
161
+ reset.laneWarnings = [];
112
162
  for (const projectId of reset.projectIds) {
113
163
  const open = await this.storage.listRemoteOperations({
114
164
  projectId,
@@ -118,6 +168,14 @@ let ResetVmOperation = class ResetVmOperation {
118
168
  if (open.length > 0) {
119
169
  throw new remote_operation_errors_1.RemoteOperationStepRefusedError('RESET_PROJECT_OPERATION_OPEN', 'A project operation is still open; finish it before reset.');
120
170
  }
171
+ if (reset.force) {
172
+ const warning = await this.protectProjectLanes(run, projectId);
173
+ if (warning)
174
+ reset.laneWarnings.push({ projectId, warning });
175
+ }
176
+ else {
177
+ await this.worktrees.assertRemoteEmpty(operation.remoteId, projectId);
178
+ }
121
179
  }
122
180
  }
123
181
  async pullFamilies({ operation, details }) {
@@ -136,16 +194,26 @@ let ResetVmOperation = class ResetVmOperation {
136
194
  }
137
195
  async destroy({ operation, details }) {
138
196
  const reset = details;
139
- await (0, guarded_vm_destroy_1.destroyGuardedVm)({
140
- storage: this.storage,
141
- providers: this.providers,
197
+ await this.sharedVm.fencedDestroy({
142
198
  operation,
143
- details,
144
- connectionId: reset.connectionId,
145
- vmIdentity: reset.oldIdentity,
146
- vmidKey: 'oldVmid',
147
- attemptKey: 'oldDestroyAttempted',
199
+ details: reset,
200
+ previouslyAttempted: reset.oldDestroyAttempted,
201
+ confirmedGone: () => (0, guarded_vm_destroy_1.confirmedVmGone)(this.providers, reset.connectionId, reset.oldIdentity),
202
+ confirmedIdle: () => (0, guarded_vm_destroy_1.confirmedVmIdle)(this.providers, reset.connectionId, reset.oldVmid),
203
+ destroy: () => (0, guarded_vm_destroy_1.destroyGuardedVm)({
204
+ storage: this.storage,
205
+ providers: this.providers,
206
+ operation,
207
+ details,
208
+ connectionId: reset.connectionId,
209
+ vmIdentity: reset.oldIdentity,
210
+ vmidKey: 'oldVmid',
211
+ attemptKey: 'oldDestroyAttempted',
212
+ }),
148
213
  });
214
+ reset.lanesFrozen = [];
215
+ for (const nested of Object.values(reset.detachDetails ?? {}))
216
+ nested.lanesFrozen = false;
149
217
  this.inventory.deleteRemote(operation.remoteId);
150
218
  await this.storage.updateRemoteBaseUrl(operation.remoteId, null);
151
219
  await this.storage.updateRemoteVmIdentity(operation.remoteId, null);
@@ -171,19 +239,49 @@ let ResetVmOperation = class ResetVmOperation {
171
239
  await step.run({
172
240
  operation: synthetic,
173
241
  details: nested,
174
- progress: (patch) => {
242
+ progress: (patch, options) => {
175
243
  Object.assign(nested, patch);
176
244
  return run.progress({
177
245
  [phase === 'detach' ? 'detachDetails' : 'attachDetails']: {
178
246
  ...group,
179
247
  [projectId]: nested,
180
248
  },
181
- });
249
+ }, options);
182
250
  },
183
251
  });
184
252
  },
185
253
  };
186
254
  }
255
+ async protectProjectLanes(run, projectId) {
256
+ const reset = run.details;
257
+ return this.worktrees.freezeRemoteEmpty(run.operation.remoteId, projectId, () => run.progress({ lanesFrozen: [...new Set([...(reset.lanesFrozen ?? []), projectId])] }, { durable: true }));
258
+ }
259
+ async protectLanes(run) {
260
+ const reset = run.details;
261
+ for (const projectId of reset.projectIds) {
262
+ const warning = await this.protectProjectLanes(run, projectId);
263
+ if (warning && !reset.laneWarnings?.some((item) => item.projectId === projectId))
264
+ (reset.laneWarnings ??= []).push({ projectId, warning });
265
+ }
266
+ }
267
+ async thawLanes(operation, progress) {
268
+ const reset = operation.details;
269
+ const projects = new Set([
270
+ ...(reset.lanesFrozen ?? []),
271
+ ...Object.entries(reset.detachDetails ?? {})
272
+ .filter(([, nested]) => nested.lanesFrozen)
273
+ .map(([projectId]) => projectId),
274
+ ]);
275
+ for (const projectId of projects) {
276
+ if (await this.worktrees.thawRemoteAdmission(operation.remoteId, projectId)) {
277
+ reset.lanesFrozen = reset.lanesFrozen?.filter((id) => id !== projectId);
278
+ const nested = reset.detachDetails?.[projectId];
279
+ if (nested)
280
+ nested.lanesFrozen = false;
281
+ await progress?.({ lanesFrozen: reset.lanesFrozen, detachDetails: reset.detachDetails }, { durable: true });
282
+ }
283
+ }
284
+ }
187
285
  };
188
286
  exports.ResetVmOperation = ResetVmOperation;
189
287
  exports.ResetVmOperation = ResetVmOperation = __decorate([
@@ -194,7 +292,9 @@ exports.ResetVmOperation = ResetVmOperation = __decorate([
194
292
  detach_operation_1.DetachOperation,
195
293
  create_vm_operation_1.CreateVmOperation,
196
294
  attach_operation_1.AttachOperation,
197
- docker_import_inventory_store_1.DockerImportInventoryStore])
295
+ docker_import_inventory_store_1.DockerImportInventoryStore,
296
+ remote_worktree_guard_1.RemoteWorktreeGuard,
297
+ remote_shared_vm_service_1.RemoteSharedVmService])
198
298
  ], ResetVmOperation);
199
299
  function createOperation(operation) {
200
300
  return (0, remote_operation_types_1.withStepPrefix)(operation, 'create_');
@@ -1 +1 @@
1
- {"version":3,"file":"reset-vm.operation.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/reset-vm.operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reset-vm.operation.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/reset-vm.operation.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface UpdateHostDetails {
10
10
  dockerChange?: boolean;
11
11
  version: string;
12
12
  frozenProjectIds?: string[];
13
+ npmRegistry?: string;
14
+ npmRegistryIgnored?: boolean;
13
15
  }
14
16
  export declare class UpdateHostOperation implements RemoteOperationDefinition {
15
17
  private readonly health;
@@ -103,22 +103,28 @@ let UpdateHostOperation = class UpdateHostOperation {
103
103
  }
104
104
  }
105
105
  async update({ operation, details }) {
106
- const { version } = details;
106
+ const updateDetails = details;
107
+ const { version, npmRegistry } = updateDetails;
107
108
  const remote = await this.hostRuntime(operation);
108
109
  if (remote === version)
109
110
  return;
110
- const outcome = await this.host.requestHostUpdate(operation.remoteId, version);
111
- logger.info({ operationId: operation.id, version, outcome }, 'Host update requested');
111
+ const { outcome, registryIgnored } = await this.host.requestHostUpdate(operation.remoteId, version, npmRegistry);
112
+ if (registryIgnored)
113
+ updateDetails.npmRegistryIgnored = true;
114
+ logger.info({ operationId: operation.id, version, outcome, registryIgnored }, 'Host update requested');
112
115
  }
113
116
  async waitHealthy({ operation, details }) {
114
- const { version } = details;
117
+ const { version, npmRegistryIgnored } = details;
115
118
  const deadline = Date.now() + this.timing.hostUpdateTimeoutMs;
116
119
  for (;;) {
117
120
  if ((await this.hostRuntime(operation)) === version)
118
121
  break;
119
122
  const status = await this.host.hostUpdateStatus(operation.remoteId).catch(() => null);
120
123
  if (status?.state === 'failed' && status.version === version) {
121
- throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_UPDATE_FAILED', `The host could not install ${version}: ${status.error ?? 'unknown error'}.`);
124
+ const registryNote = npmRegistryIgnored
125
+ ? " This VM's version ignores HOST_NPM_REGISTRY and installed from its image's registry."
126
+ : '';
127
+ throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_UPDATE_FAILED', `The host could not install ${version}: ${status.error ?? 'unknown error'}.${registryNote}`);
122
128
  }
123
129
  if (Date.now() >= deadline) {
124
130
  throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_UPDATE_TIMEOUT', `The host did not come back on ${version} in time.`);
@@ -1 +1 @@
1
- {"version":3,"file":"update-host.operation.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/update-host.operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-host.operation.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/update-host.operation.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import type { RemoteOperation } from '../../storage/models/domain.models';
2
2
  import { VmOperationsService } from './vm-operations.service';
3
+ import { RemoteSharedVmService } from '../services/remote-shared-vm.service';
3
4
  export declare class VmOperationsController {
4
5
  private readonly operations;
5
- constructor(operations: VmOperationsService);
6
+ private readonly sharedVm;
7
+ constructor(operations: VmOperationsService, sharedVm: RemoteSharedVmService);
8
+ sharedVmContext(id: string): ReturnType<RemoteSharedVmService['context']>;
9
+ notify(id: string, body: unknown): ReturnType<RemoteSharedVmService['notify']>;
6
10
  create(id: string, body: unknown): Promise<RemoteOperation>;
7
11
  reset(id: string, body: unknown): Promise<RemoteOperation>;
8
12
  powerOn(id: string): Promise<{
@@ -18,11 +18,21 @@ const swagger_1 = require("@nestjs/swagger");
18
18
  const zod_1 = require("zod");
19
19
  const vm_operations_dto_1 = require("./vm-operations.dto");
20
20
  const vm_operations_service_1 = require("./vm-operations.service");
21
+ const remote_shared_vm_service_1 = require("../services/remote-shared-vm.service");
22
+ const shared_vm_contract_1 = require("../host/shared-vm.contract");
21
23
  const IdSchema = zod_1.z.string().uuid();
22
24
  let VmOperationsController = class VmOperationsController {
23
25
  operations;
24
- constructor(operations) {
26
+ sharedVm;
27
+ constructor(operations, sharedVm) {
25
28
  this.operations = operations;
29
+ this.sharedVm = sharedVm;
30
+ }
31
+ sharedVmContext(id) {
32
+ return this.sharedVm.context(IdSchema.parse(id));
33
+ }
34
+ notify(id, body) {
35
+ return this.sharedVm.notify(IdSchema.parse(id), shared_vm_contract_1.SharedVmNotifySchema.parse(body));
26
36
  }
27
37
  create(id, body) {
28
38
  return this.operations.create(IdSchema.parse(id), vm_operations_dto_1.CreateVmSchema.parse(body));
@@ -38,6 +48,29 @@ let VmOperationsController = class VmOperationsController {
38
48
  }
39
49
  };
40
50
  exports.VmOperationsController = VmOperationsController;
51
+ __decorate([
52
+ (0, common_1.Get)('remotes/:id/shared-vm'),
53
+ (0, swagger_1.ApiOperation)({ summary: 'Read current occupancy and last roster context for Reset or Destroy' }),
54
+ (0, swagger_1.ApiResponse)({
55
+ status: 200,
56
+ description: 'Other users and connected project sets; unknown is explicit',
57
+ }),
58
+ __param(0, (0, common_1.Param)('id')),
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", [String]),
61
+ __metadata("design:returntype", void 0)
62
+ ], VmOperationsController.prototype, "sharedVmContext", null);
63
+ __decorate([
64
+ (0, common_1.Post)('remotes/:id/shared-vm/notify'),
65
+ (0, common_1.HttpCode)(200),
66
+ (0, swagger_1.ApiOperation)({ summary: 'Notify other users before Reset or Destroy' }),
67
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Per-user best effort results' }),
68
+ __param(0, (0, common_1.Param)('id')),
69
+ __param(1, (0, common_1.Body)()),
70
+ __metadata("design:type", Function),
71
+ __metadata("design:paramtypes", [String, Object]),
72
+ __metadata("design:returntype", void 0)
73
+ ], VmOperationsController.prototype, "notify", null);
41
74
  __decorate([
42
75
  (0, common_1.Post)('vm-providers/:id/create-vm'),
43
76
  (0, common_1.HttpCode)(202),
@@ -85,6 +118,7 @@ __decorate([
85
118
  exports.VmOperationsController = VmOperationsController = __decorate([
86
119
  (0, swagger_1.ApiTags)('vm-operations'),
87
120
  (0, common_1.Controller)('api'),
88
- __metadata("design:paramtypes", [vm_operations_service_1.VmOperationsService])
121
+ __metadata("design:paramtypes", [vm_operations_service_1.VmOperationsService,
122
+ remote_shared_vm_service_1.RemoteSharedVmService])
89
123
  ], VmOperationsController);
90
124
  //# sourceMappingURL=vm-operations.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vm-operations.controller.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/vm-operations.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm-operations.controller.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/vm-operations.controller.ts"],"names":[],"mappings":"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"}