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
@@ -23,6 +23,7 @@ const project_sessions_stopper_service_1 = require("../services/project-sessions
23
23
  const project_replica_applier_1 = require("../replica/project-replica.applier");
24
24
  const project_replica_builder_1 = require("../replica/project-replica.builder");
25
25
  const project_freeze_service_1 = require("./project-freeze.service");
26
+ const git_coordinator_service_1 = require("../git-coordinator/git-coordinator.service");
26
27
  const host_skill_settings_service_1 = require("./host-skill-settings.service");
27
28
  const project_time_settler_service_1 = require("../time/project-time-settler.service");
28
29
  const logger = (0, logger_1.createLogger)('HostService');
@@ -36,7 +37,8 @@ let HostService = class HostService {
36
37
  timeSettler;
37
38
  skillSettings;
38
39
  settings;
39
- constructor(builder, applier, freeze, storage, sessionsStopper, timeSettler, skillSettings, settings) {
40
+ gitCoordinator;
41
+ constructor(builder, applier, freeze, storage, sessionsStopper, timeSettler, skillSettings, settings, gitCoordinator) {
40
42
  this.builder = builder;
41
43
  this.applier = applier;
42
44
  this.freeze = freeze;
@@ -45,6 +47,7 @@ let HostService = class HostService {
45
47
  this.timeSettler = timeSettler;
46
48
  this.skillSettings = skillSettings;
47
49
  this.settings = settings;
50
+ this.gitCoordinator = gitCoordinator;
48
51
  }
49
52
  async importProject(body, options) {
50
53
  const replica = shared_1.ProjectReplicaV1Schema.parse(body);
@@ -73,6 +76,8 @@ let HostService = class HostService {
73
76
  throw error;
74
77
  }
75
78
  this.skillSettings.syncSourcesTurnedOn(sourcesEnabledBefore);
79
+ if (!options.resnapshot)
80
+ await this.gitCoordinator.forget(projectId);
76
81
  logger.info({ projectId, resnapshot: options.resnapshot }, 'Imported project replica');
77
82
  return { projectId, cursor };
78
83
  }
@@ -111,6 +116,7 @@ let HostService = class HostService {
111
116
  async releaseProject(projectId) {
112
117
  await this.storage.releaseProject(projectId);
113
118
  this.freeze.forget(projectId);
119
+ await this.gitCoordinator.forget(projectId);
114
120
  }
115
121
  async findEpicByIdempotencyKey(projectId, key) {
116
122
  const epicId = await this.storage.findEpicIdByIdempotencyKey(projectId, key);
@@ -129,7 +135,8 @@ exports.HostService = HostService = __decorate([
129
135
  project_freeze_service_1.ProjectFreezeService, Object, project_sessions_stopper_service_1.ProjectSessionsStopper,
130
136
  project_time_settler_service_1.ProjectTimeSettler,
131
137
  host_skill_settings_service_1.HostSkillSettingsService,
132
- settings_service_1.SettingsService])
138
+ settings_service_1.SettingsService,
139
+ git_coordinator_service_1.GitCoordinatorService])
133
140
  ], HostService);
134
141
  function unwrap(result) {
135
142
  if (result.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"host.service.js","sourceRoot":"","sources":["../../../../src/modules/remotes/host/host.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.service.js","sourceRoot":"","sources":["../../../../src/modules/remotes/host/host.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ import { z } from 'zod';
2
+ export { SharedVmRosterSchema } from '../dtos/shared-vm.dto';
3
+ export type { SharedVmRoster } from '../dtos/shared-vm.dto';
4
+ export declare const SharedVmActionSchema: z.ZodEnum<["reset", "destroy", "forced"]>;
5
+ export declare const SharedVmNotifySchema: z.ZodObject<{
6
+ action: z.ZodEnum<["reset", "destroy", "forced"]>;
7
+ message: z.ZodOptional<z.ZodString>;
8
+ }, "strict", z.ZodTypeAny, {
9
+ action: "destroy" | "reset" | "forced";
10
+ message?: string | undefined;
11
+ }, {
12
+ action: "destroy" | "reset" | "forced";
13
+ message?: string | undefined;
14
+ }>;
15
+ export declare const SharedVmInboxSchema: z.ZodObject<{
16
+ action: z.ZodEnum<["reset", "destroy", "forced"]>;
17
+ message: z.ZodOptional<z.ZodString>;
18
+ } & {
19
+ fromUser: z.ZodString;
20
+ at: z.ZodString;
21
+ }, "strict", z.ZodTypeAny, {
22
+ at: string;
23
+ action: "destroy" | "reset" | "forced";
24
+ fromUser: string;
25
+ message?: string | undefined;
26
+ }, {
27
+ at: string;
28
+ action: "destroy" | "reset" | "forced";
29
+ fromUser: string;
30
+ message?: string | undefined;
31
+ }>;
32
+ export declare const SharedVmNoticeSchema: z.ZodObject<{
33
+ action: z.ZodEnum<["reset", "destroy", "forced"]>;
34
+ message: z.ZodOptional<z.ZodString>;
35
+ } & {
36
+ fromUser: z.ZodString;
37
+ at: z.ZodString;
38
+ } & {
39
+ id: z.ZodString;
40
+ }, "strict", z.ZodTypeAny, {
41
+ at: string;
42
+ id: string;
43
+ action: "destroy" | "reset" | "forced";
44
+ fromUser: string;
45
+ message?: string | undefined;
46
+ }, {
47
+ at: string;
48
+ id: string;
49
+ action: "destroy" | "reset" | "forced";
50
+ fromUser: string;
51
+ message?: string | undefined;
52
+ }>;
53
+ export declare const SharedVmNoticesSchema: z.ZodObject<{
54
+ notices: z.ZodArray<z.ZodObject<{
55
+ action: z.ZodEnum<["reset", "destroy", "forced"]>;
56
+ message: z.ZodOptional<z.ZodString>;
57
+ } & {
58
+ fromUser: z.ZodString;
59
+ at: z.ZodString;
60
+ } & {
61
+ id: z.ZodString;
62
+ }, "strict", z.ZodTypeAny, {
63
+ at: string;
64
+ id: string;
65
+ action: "destroy" | "reset" | "forced";
66
+ fromUser: string;
67
+ message?: string | undefined;
68
+ }, {
69
+ at: string;
70
+ id: string;
71
+ action: "destroy" | "reset" | "forced";
72
+ fromUser: string;
73
+ message?: string | undefined;
74
+ }>, "many">;
75
+ }, "strip", z.ZodTypeAny, {
76
+ notices: {
77
+ at: string;
78
+ id: string;
79
+ action: "destroy" | "reset" | "forced";
80
+ fromUser: string;
81
+ message?: string | undefined;
82
+ }[];
83
+ }, {
84
+ notices: {
85
+ at: string;
86
+ id: string;
87
+ action: "destroy" | "reset" | "forced";
88
+ fromUser: string;
89
+ message?: string | undefined;
90
+ }[];
91
+ }>;
92
+ export declare const SharedVmDismissSchema: z.ZodObject<{
93
+ id: z.ZodString;
94
+ }, "strict", z.ZodTypeAny, {
95
+ id: string;
96
+ }, {
97
+ id: string;
98
+ }>;
99
+ export declare const SharedVmAbandonSchema: z.ZodObject<{
100
+ projectId: z.ZodString;
101
+ }, "strict", z.ZodTypeAny, {
102
+ projectId: string;
103
+ }, {
104
+ projectId: string;
105
+ }>;
106
+ export declare const SharedVmCountSchema: z.ZodEffects<z.ZodObject<{
107
+ connectedCount: z.ZodNumber;
108
+ connectedProjectIds: z.ZodArray<z.ZodString, "many">;
109
+ }, "strip", z.ZodTypeAny, {
110
+ connectedCount: number;
111
+ connectedProjectIds: string[];
112
+ }, {
113
+ connectedCount: number;
114
+ connectedProjectIds: string[];
115
+ }>, {
116
+ connectedCount: number;
117
+ connectedProjectIds: string[];
118
+ }, {
119
+ connectedCount: number;
120
+ connectedProjectIds: string[];
121
+ }>;
122
+ export declare const SharedVmNotifyResultSchema: z.ZodObject<{
123
+ results: z.ZodArray<z.ZodObject<{
124
+ user: z.ZodString;
125
+ delivered: z.ZodBoolean;
126
+ }, "strip", z.ZodTypeAny, {
127
+ user: string;
128
+ delivered: boolean;
129
+ }, {
130
+ user: string;
131
+ delivered: boolean;
132
+ }>, "many">;
133
+ }, "strip", z.ZodTypeAny, {
134
+ results: {
135
+ user: string;
136
+ delivered: boolean;
137
+ }[];
138
+ }, {
139
+ results: {
140
+ user: string;
141
+ delivered: boolean;
142
+ }[];
143
+ }>;
144
+ export declare const SharedVmFenceRequestSchema: z.ZodObject<{
145
+ mode: z.ZodEnum<["set", "clear"]>;
146
+ operationId: z.ZodString;
147
+ }, "strict", z.ZodTypeAny, {
148
+ mode: "set" | "clear";
149
+ operationId: string;
150
+ }, {
151
+ mode: "set" | "clear";
152
+ operationId: string;
153
+ }>;
154
+ export declare const SharedVmFenceResultSchema: z.ZodObject<{
155
+ fence: z.ZodNullable<z.ZodObject<{
156
+ ownerUser: z.ZodString;
157
+ operationId: z.ZodString;
158
+ expiresAt: z.ZodString;
159
+ }, "strict", z.ZodTypeAny, {
160
+ operationId: string;
161
+ expiresAt: string;
162
+ ownerUser: string;
163
+ }, {
164
+ operationId: string;
165
+ expiresAt: string;
166
+ ownerUser: string;
167
+ }>>;
168
+ }, "strip", z.ZodTypeAny, {
169
+ fence: {
170
+ operationId: string;
171
+ expiresAt: string;
172
+ ownerUser: string;
173
+ } | null;
174
+ }, {
175
+ fence: {
176
+ operationId: string;
177
+ expiresAt: string;
178
+ ownerUser: string;
179
+ } | null;
180
+ }>;
181
+ export type SharedVmNotice = z.infer<typeof SharedVmNoticeSchema>;
182
+ export type SharedVmInbox = z.infer<typeof SharedVmInboxSchema>;
183
+ export type SharedVmNotify = z.infer<typeof SharedVmNotifySchema>;
184
+ export type SharedVmNotifyResult = z.infer<typeof SharedVmNotifyResultSchema>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SharedVmFenceResultSchema = exports.SharedVmFenceRequestSchema = exports.SharedVmNotifyResultSchema = exports.SharedVmCountSchema = exports.SharedVmAbandonSchema = exports.SharedVmDismissSchema = exports.SharedVmNoticesSchema = exports.SharedVmNoticeSchema = exports.SharedVmInboxSchema = exports.SharedVmNotifySchema = exports.SharedVmActionSchema = exports.SharedVmRosterSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const vm_destroy_fence_1 = require("../../../common/config/vm-destroy-fence");
6
+ const host_dto_1 = require("./host.dto");
7
+ var shared_vm_dto_1 = require("../dtos/shared-vm.dto");
8
+ Object.defineProperty(exports, "SharedVmRosterSchema", { enumerable: true, get: function () { return shared_vm_dto_1.SharedVmRosterSchema; } });
9
+ exports.SharedVmActionSchema = zod_1.z.enum(['reset', 'destroy', 'forced']);
10
+ exports.SharedVmNotifySchema = zod_1.z
11
+ .object({
12
+ action: exports.SharedVmActionSchema,
13
+ message: zod_1.z.string().max(2000).optional(),
14
+ })
15
+ .strict();
16
+ exports.SharedVmInboxSchema = exports.SharedVmNotifySchema.extend({
17
+ fromUser: vm_destroy_fence_1.InstanceUserNameSchema,
18
+ at: zod_1.z.string().datetime({ offset: true }),
19
+ }).strict();
20
+ exports.SharedVmNoticeSchema = exports.SharedVmInboxSchema.extend({ id: zod_1.z.string().uuid() });
21
+ exports.SharedVmNoticesSchema = zod_1.z.object({ notices: zod_1.z.array(exports.SharedVmNoticeSchema) });
22
+ exports.SharedVmDismissSchema = zod_1.z.object({ id: zod_1.z.string().uuid() }).strict();
23
+ exports.SharedVmAbandonSchema = zod_1.z.object({ projectId: host_dto_1.HostProjectIdSchema }).strict();
24
+ exports.SharedVmCountSchema = zod_1.z
25
+ .object({
26
+ connectedCount: zod_1.z.number().int().nonnegative(),
27
+ connectedProjectIds: zod_1.z.array(zod_1.z.string()),
28
+ })
29
+ .refine(({ connectedCount, connectedProjectIds }) => connectedCount === connectedProjectIds.length &&
30
+ new Set(connectedProjectIds).size === connectedCount);
31
+ exports.SharedVmNotifyResultSchema = zod_1.z.object({
32
+ results: zod_1.z.array(zod_1.z.object({
33
+ user: zod_1.z.string(),
34
+ delivered: zod_1.z.boolean(),
35
+ })),
36
+ });
37
+ exports.SharedVmFenceRequestSchema = zod_1.z
38
+ .object({
39
+ mode: zod_1.z.enum(['set', 'clear']),
40
+ operationId: zod_1.z.string().regex(/^[A-Za-z0-9_-]{1,128}$/),
41
+ })
42
+ .strict();
43
+ exports.SharedVmFenceResultSchema = zod_1.z.object({ fence: vm_destroy_fence_1.VmDestroyFenceSchema.nullable() });
44
+ //# sourceMappingURL=shared-vm.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-vm.contract.js","sourceRoot":"","sources":["../../../../src/modules/remotes/host/shared-vm.contract.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,8EAGiD;AACjD,yCAAiD;AACjD,uDAA6D;AAApD,qHAAA,oBAAoB,OAAA;AAGhB,QAAA,oBAAoB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9D,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,CAAC;IACN,MAAM,EAAE,4BAAoB;IAC5B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC;KACD,MAAM,EAAE,CAAC;AACC,QAAA,mBAAmB,GAAG,4BAAoB,CAAC,MAAM,CAAC;IAC7D,QAAQ,EAAE,yCAAsB;IAChC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAC1C,CAAC,CAAC,MAAM,EAAE,CAAC;AACC,QAAA,oBAAoB,GAAG,2BAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC7E,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,4BAAoB,CAAC,EAAE,CAAC,CAAC;AAC7E,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACrE,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,8BAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9E,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,CAAC;IACN,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC9C,mBAAmB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;CACzC,CAAC;KACD,MAAM,CACL,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAC1C,cAAc,KAAK,mBAAmB,CAAC,MAAM;IAC7C,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,KAAK,cAAc,CACvD,CAAC;AACS,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,OAAC,CAAC,KAAK,CACd,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE;KACvB,CAAC,CACH;CACF,CAAC,CAAC;AACU,QAAA,0BAA0B,GAAG,OAAC;KACxC,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC;CACxD,CAAC;KACD,MAAM,EAAE,CAAC;AACC,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,uCAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC"}
@@ -2,7 +2,9 @@ export declare const HOST_INSTALL_BOOTSTRAP_PORT = 3000;
2
2
  export declare const HOST_CERTIFICATE_PATH = "/etc/devchain-host/tls/cert.pem";
3
3
  export declare const HOST_CERTIFICATE_FINGERPRINT_COMMAND = "openssl x509 -in /etc/devchain-host/tls/cert.pem -noout -fingerprint -sha256";
4
4
  export declare const HOST_INSTALL_MIN_MEMORY_MIB = 3584;
5
+ export declare const SHARED_VM_PROTOCOL = 1;
5
6
  export interface HostInstallPins {
7
+ sharedVmProtocol?: number;
6
8
  nodeVersion: string;
7
9
  syncthingVersion: string;
8
10
  npmRegistry: string;
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HOST_INSTALL_MIN_MEMORY_MIB = exports.HOST_CERTIFICATE_FINGERPRINT_COMMAND = exports.HOST_CERTIFICATE_PATH = exports.HOST_INSTALL_BOOTSTRAP_PORT = void 0;
3
+ exports.SHARED_VM_PROTOCOL = exports.HOST_INSTALL_MIN_MEMORY_MIB = exports.HOST_CERTIFICATE_FINGERPRINT_COMMAND = exports.HOST_CERTIFICATE_PATH = exports.HOST_INSTALL_BOOTSTRAP_PORT = void 0;
4
4
  exports.baseHostInstallAptPackages = baseHostInstallAptPackages;
5
5
  exports.generateHostInstallBlock = generateHostInstallBlock;
6
6
  exports.HOST_INSTALL_BOOTSTRAP_PORT = 3000;
7
7
  exports.HOST_CERTIFICATE_PATH = '/etc/devchain-host/tls/cert.pem';
8
8
  exports.HOST_CERTIFICATE_FINGERPRINT_COMMAND = `openssl x509 -in ${exports.HOST_CERTIFICATE_PATH} -noout -fingerprint -sha256`;
9
9
  exports.HOST_INSTALL_MIN_MEMORY_MIB = 3584;
10
+ exports.SHARED_VM_PROTOCOL = 1;
10
11
  function shellQuote(value) {
11
12
  return `'${value.replace(/'/g, `'\\''`)}'`;
12
13
  }
@@ -305,7 +306,7 @@ devchain_host_install() {
305
306
  done < <(ip -o -4 addr show scope global 2>/dev/null | awk '{ print $4 }')
306
307
  fi
307
308
  if command -v ufw >/dev/null 2>&1 && ufw status 2>/dev/null | grep -q '^Status: active'; then
308
- devchain_warn "ufw is active; allow TCP ports $DEVCHAIN_BOOTSTRAP_PORT, $DEVCHAIN_HOME_PORT and 22000."
309
+ devchain_warn "ufw is active; allow TCP ports $DEVCHAIN_BOOTSTRAP_PORT and $DEVCHAIN_HOME_PORT from this PC. After setup, allow the Syncthing listen port shown in VM details."
309
310
  fi
310
311
  local account=''
311
312
  if command -v getent >/dev/null 2>&1; then account="$(getent passwd "$DEVCHAIN_HOME_USER" 2>/dev/null || true)"; fi
@@ -1 +1 @@
1
- {"version":3,"file":"host-install-block.js","sourceRoot":"","sources":["../../../../src/modules/remotes/host-install/host-install-block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-install-block.js","sourceRoot":"","sources":["../../../../src/modules/remotes/host-install/host-install-block.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { ProcessExecutor } from '../../terminal/services/process-executor/process-executor.port';
2
2
  import { type HostInstallBlockOptions, type HostInstallPins } from './host-install-block';
3
+ import { type HostJoinRenderOptions } from './host-join-block';
3
4
  export interface HostInstallInputs {
4
5
  pins: HostInstallPins;
5
6
  bootstrapTgzBase64: string;
@@ -23,6 +24,7 @@ export declare class HostInstallService {
23
24
  constructor(processExecutor: ProcessExecutor, paths?: HostInstallPaths);
24
25
  render(options: HostInstallRenderOptions): Promise<string>;
25
26
  loadInputs(): Promise<HostInstallInputs>;
27
+ renderJoin(options: HostJoinRenderOptions): Promise<string>;
26
28
  private readInputs;
27
29
  private packSourceInputs;
28
30
  }
@@ -24,6 +24,7 @@ const env_config_1 = require("../../../common/config/env.config");
24
24
  const db_config_1 = require("../../storage/db/db.config");
25
25
  const process_executor_port_1 = require("../../terminal/services/process-executor/process-executor.port");
26
26
  const host_install_block_1 = require("./host-install-block");
27
+ const host_join_block_1 = require("./host-join-block");
27
28
  const SOURCE_PACK_TIMEOUT_MS = 120_000;
28
29
  exports.HOST_INSTALL_PATHS = Symbol('HOST_INSTALL_PATHS');
29
30
  const HOST_INSTALL_FILES = [
@@ -130,6 +131,14 @@ let HostInstallService = class HostInstallService {
130
131
  }
131
132
  return this.sourceInputsPromise;
132
133
  }
134
+ async renderJoin(options) {
135
+ const inputs = await this.loadInputs();
136
+ return (0, host_join_block_1.generateHostJoinBlock)({
137
+ ...options,
138
+ pins: inputs.pins,
139
+ bootstrapTgzBase64: inputs.bootstrapTgzBase64,
140
+ });
141
+ }
133
142
  async readInputs(directory) {
134
143
  const [archive, unit, sysctl, aptPreference, pinsText] = await Promise.all([
135
144
  (0, promises_1.readFile)((0, node_path_1.join)(directory, 'devchain-host-bootstrap.tgz')),
@@ -186,6 +195,7 @@ let HostInstallService = class HostInstallService {
186
195
  const archive = await (0, promises_1.readFile)((0, node_path_1.join)(this.paths.dataDirectory, filename));
187
196
  const versions = parseVersionsEnv(await (0, promises_1.readFile)((0, node_path_1.join)(repositoryRoot, 'apps/host-image/versions.env'), 'utf8'));
188
197
  const pins = {
198
+ sharedVmProtocol: host_install_block_1.SHARED_VM_PROTOCOL,
189
199
  nodeVersion: versions.NODE_VERSION,
190
200
  syncthingVersion: versions.SYNCTHING_VERSION,
191
201
  npmRegistry: versions.NPM_REGISTRY,
@@ -1 +1 @@
1
- {"version":3,"file":"host-install.service.js","sourceRoot":"","sources":["../../../../src/modules/remotes/host-install/host-install.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-install.service.js","sourceRoot":"","sources":["../../../../src/modules/remotes/host-install/host-install.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type HostInstallPins } from './host-install-block';
2
+ export interface HostJoinRenderOptions {
3
+ homeUser: string;
4
+ homePath: string;
5
+ homePort: number;
6
+ uid?: number;
7
+ gid?: number;
8
+ minDiskGib: number;
9
+ requestId: string;
10
+ checkOnly?: boolean;
11
+ }
12
+ export interface HostJoinBlockOptions extends HostJoinRenderOptions {
13
+ pins: HostInstallPins;
14
+ bootstrapTgzBase64: string;
15
+ }
16
+ export declare function generateHostJoinBlock(options: HostJoinBlockOptions): string;
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateHostJoinBlock = generateHostJoinBlock;
4
+ const claim_operation_1 = require("../operations/claim.operation");
5
+ const host_install_block_1 = require("./host-install-block");
6
+ function generateHostJoinBlock(options) {
7
+ if (!claim_operation_1.USER_NAME.test(options.homeUser) ||
8
+ !/^[A-Za-z0-9_-]{1,128}$/.test(options.requestId) ||
9
+ !Number.isSafeInteger(options.minDiskGib) ||
10
+ options.minDiskGib < 1 ||
11
+ !/^[a-f0-9]{64}$/.test(options.pins.bootstrap.sha256) ||
12
+ !/^\/(home|Users|var\/home)\/[A-Za-z0-9._/-]+$/.test(options.homePath))
13
+ throw new Error('Invalid host join inputs.');
14
+ const settings = {
15
+ userName: options.homeUser,
16
+ homePath: options.homePath,
17
+ port: options.homePort,
18
+ uid: options.uid,
19
+ minDiskGib: options.minDiskGib,
20
+ requestId: options.requestId,
21
+ sha256: options.pins.bootstrap.sha256,
22
+ archive: options.bootstrapTgzBase64,
23
+ checkOnly: options.checkOnly === true,
24
+ };
25
+ return `#!/bin/bash
26
+ set -Eeuo pipefail
27
+ export PATH="\${DEVCHAIN_HOST_JOIN_PATH:-/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin}"
28
+ export HOME="\${HOME:-/root}"
29
+ umask 077
30
+ flock --exclusive "\${DEVCHAIN_HOST_JOIN_ROOT:-}/etc/devchain-host/registry.lock" node <<'DEVCHAIN_HOST_JOIN'
31
+ const fs = require('node:fs/promises');
32
+ const path = require('node:path');
33
+ const { createHash } = require('node:crypto');
34
+ const { promisify } = require('node:util');
35
+ const run = promisify(require('node:child_process').execFile);
36
+ const settings = ${JSON.stringify(settings)};
37
+ const root = process.env.DEVCHAIN_HOST_JOIN_ROOT || '';
38
+ const at = (name) => path.join(root, name);
39
+ const userPattern = /^[a-z_][a-z0-9_-]{0,31}$/;
40
+ const versionPattern = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$/;
41
+ const fail = (code, message, extra) => { throw Object.assign(new Error(message), { code, ...extra }); };
42
+ const json = async (file) => JSON.parse(await fs.readFile(file, 'utf8'));
43
+ async function present(file) { try { await fs.lstat(file); return true; } catch (error) { if (error.code === 'ENOENT') return false; throw error; } }
44
+ async function check() {
45
+ if (!root && process.getuid() !== 0) fail('HOST_JOIN_CHECK_FAILED', 'Run the VM join as root.');
46
+ if (await present(at('/etc/devchain-host/fence.json'))) fail('HOST_JOIN_FENCED', 'This VM is being destroyed; joining is refused.');
47
+ const legacyFile = at('/etc/devchain-host/claim.json');
48
+ if (!(await present(legacyFile))) fail('HOST_NOT_CLAIMED', 'This VM is not a claimed DevChain host.');
49
+ const records = [];
50
+ try {
51
+ records.push({ claim: await json(legacyFile), installRoot: at('/opt/devchain-host') });
52
+ const dir = at('/etc/devchain-host/instances');
53
+ if (await present(dir)) for (const entry of await fs.readdir(dir, { withFileTypes: true })) {
54
+ if (!entry.isDirectory() || !userPattern.test(entry.name)) fail('HOST_JOIN_CHECK_FAILED', 'The instance registry is invalid.');
55
+ const ownDir = path.join(dir, entry.name);
56
+ const claimFile = path.join(ownDir, 'claim.json');
57
+ if (await present(claimFile)) {
58
+ const claim = await json(claimFile);
59
+ if (claim.userName !== entry.name) fail('HOST_JOIN_CHECK_FAILED', 'An instance claim does not match its registry entry.');
60
+ records.push({ claim, installRoot: at('/opt/devchain-host/instances/' + entry.name) });
61
+ } else if (entry.name === settings.userName && await present(path.join(ownDir, 'join.json'))) {
62
+ const join = await json(path.join(ownDir, 'join.json'));
63
+ if (join.requestId !== settings.requestId && (join.claimStartedAt || Date.parse(join.expiresAt) > Date.now()))
64
+ fail('INSTANCE_EXISTS', 'This VM already runs DevChain for ' + entry.name + ' on port ' + join.port + '.');
65
+ }
66
+ }
67
+ } catch (error) {
68
+ if (error.code === 'HOST_JOIN_CHECK_FAILED' || error.code === 'INSTANCE_EXISTS') throw error;
69
+ fail('HOST_JOIN_CHECK_FAILED', 'Cannot read the VM instance registry.');
70
+ }
71
+ const unsupported = [];
72
+ for (const { claim, installRoot } of records) {
73
+ if (!userPattern.test(claim.userName) || !versionPattern.test(claim.version) || typeof claim.homePath !== 'string' || !Number.isInteger(claim.port))
74
+ fail('HOST_JOIN_CHECK_FAILED', 'An instance claim is invalid.');
75
+ let capable = false;
76
+ try { capable = (await json(path.join(installRoot, 'versions', claim.version, 'lib/node_modules/devchain-cli/dist/host-install/pins.json'))).sharedVmProtocol === ${host_install_block_1.SHARED_VM_PROTOCOL}; } catch {}
77
+ if (!capable) unsupported.push(claim.userName + ' (' + claim.version + ')');
78
+ }
79
+ if (unsupported.length) fail('HOST_JOIN_VERSION_UNSUPPORTED', 'Update these VM instances to a shared-capable DevChain version before joining: ' + unsupported.join(', ') + '.');
80
+ const duplicate = records.find(({ claim }) => claim.userName === settings.userName)?.claim;
81
+ if (duplicate) fail('INSTANCE_EXISTS', duplicate.homePath === settings.homePath
82
+ ? 'DevChain already runs for ' + duplicate.userName + ' on port ' + duplicate.port + '. Add it by address.'
83
+ : 'This VM already runs DevChain for ' + duplicate.userName + ' on port ' + duplicate.port + '.');
84
+ let account;
85
+ try { account = (await run('getent', ['passwd', settings.userName])).stdout.trim().split(':'); }
86
+ catch (error) { if (error.code !== 2) fail('HOST_INSTALL_ACCOUNT_CHECK_FAILED', 'Could not check the requested account on the VM.'); }
87
+ if (account && account[5] !== settings.homePath)
88
+ fail('HOST_INSTALL_ACCOUNT_COLLISION', 'The VM account uses another home folder.', { accountHome: account[5] });
89
+ const memory = await fs.readFile(at('/proc/meminfo'), 'utf8');
90
+ const available = Number(memory.match(/^MemAvailable:\\s+(\\d+)/m)?.[1]);
91
+ if (!Number.isFinite(available)) fail('HOST_JOIN_CHECK_FAILED', 'Cannot inspect the VM available memory.');
92
+ if (available < 2048 * 1024) console.log('WARNING: The VM has ' + Math.floor(available / 1024) + ' MiB available memory; at least 2048 MiB is recommended when joining.');
93
+ const free = Number((await run('df', ['-Pk', root || '/'])).stdout.trim().split('\\n')[1]?.trim().split(/\\s+/)[3]);
94
+ if (!Number.isFinite(free) || free < settings.minDiskGib * 1024 * 1024)
95
+ fail('HOST_INSTALL_DISK_TOO_SMALL', 'At least ' + settings.minDiskGib + ' GiB of free disk space is required for this join.');
96
+ let syncthing;
97
+ try { syncthing = (await run('syncthing', ['--version'])).stdout; } catch {}
98
+ if (!/^syncthing v2\\./.test(syncthing || '')) fail('HOST_JOIN_SYNCTHING_UNSUPPORTED', 'The VM must already have Syncthing v2 before joining.');
99
+ }
100
+ async function main() {
101
+ await check();
102
+ if (settings.checkOnly) { console.log('Pre-validation passed.'); return; }
103
+ const dir = await fs.mkdtemp(at('/tmp/devchain-host-join-'));
104
+ try {
105
+ const archive = Buffer.from(settings.archive, 'base64');
106
+ if (createHash('sha256').update(archive).digest('hex') !== settings.sha256) fail('HOST_JOIN_PACKAGE_INVALID', 'The bootstrap package SHA-256 does not match.');
107
+ const file = path.join(dir, 'bootstrap.tgz');
108
+ await fs.writeFile(file, archive, { mode: 0o600 });
109
+ await run('npm', ['install', '-g', '--prefix=' + at('/opt/devchain-host/instances/' + settings.userName + '/helper'), '--omit=dev', '--no-fund', '--no-audit', '--ignore-scripts', file], { timeout: 15 * 60_000, maxBuffer: 1000000 });
110
+ const lib = at('/opt/devchain-host/instances/' + settings.userName + '/helper/lib/node_modules/devchain-host-bootstrap/lib');
111
+ const sys = require(path.join(lib, 'system')).createSystem(root ? { paths: { etcDir: at('/etc/devchain-host'), installRoot: at('/opt/devchain-host'), tlsDir: at('/etc/devchain-host/tls'), systemdDir: at('/etc/systemd/system'), sudoersDir: at('/etc/sudoers.d'), profileDir: at('/etc/profile.d'), binDir: at('/usr/local/bin'), cliPrefix: at('/usr/local'), manifestFile: at('/usr/share/devchain-host/manifest.json') } } : {});
112
+ // The wrapper already holds this kernel lock; acquiring it again would deadlock.
113
+ sys.withHostLock = async (action) => action();
114
+ await require(path.join(lib, 'instances')).reserveJoin({ userName: settings.userName, homePath: settings.homePath, port: settings.port, requestId: settings.requestId, ...(settings.uid !== undefined ? { uid: settings.uid } : {}) }, sys);
115
+ console.log('The instance bootstrap is installed and its join is reserved.');
116
+ } finally { await fs.rm(dir, { recursive: true, force: true }); }
117
+ }
118
+ main().catch((error) => { process.stderr.write(JSON.stringify({ code: error.code || 'HOST_JOIN_CHECK_FAILED', message: error.code ? error.message : 'The VM join check or helper installation failed.', ...(error.accountHome ? { accountHome: error.accountHome } : {}) }) + '\\n'); process.exitCode = 1; });
119
+ DEVCHAIN_HOST_JOIN
120
+ `;
121
+ }
122
+ //# sourceMappingURL=host-join-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-join-block.js","sourceRoot":"","sources":["../../../../src/modules/remotes/host-install/host-join-block.ts"],"names":[],"mappings":";;AAoBA,sDAqHC;AAzID,mEAA0D;AAC1D,6DAAgF;AAmBhF,SAAgB,qBAAqB,CAAC,OAA6B;IACjE,IACE,CAAC,2BAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjC,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACjD,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;QACzC,OAAO,CAAC,UAAU,GAAG,CAAC;QACtB,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACrD,CAAC,8CAA8C,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEtE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,QAAQ;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;QACrC,OAAO,EAAE,OAAO,CAAC,kBAAkB;QACnC,SAAS,EAAE,OAAO,CAAC,SAAS,KAAK,IAAI;KACtC,CAAC;IACF,OAAO;;;;;;;;;;;mBAWU,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wKAwC6H,uCAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CzL,CAAC;AACF,CAAC"}
@@ -20,6 +20,7 @@ export interface SshCommandResult {
20
20
  stderr: string;
21
21
  }
22
22
  export interface SshExecOptions {
23
+ capture?: 'private';
23
24
  timeoutMs?: number;
24
25
  deadlineAt?: number;
25
26
  signal?: AbortSignal;
@@ -188,8 +188,8 @@ class ClientSshSession {
188
188
  return;
189
189
  }
190
190
  channelToClose = channel;
191
- const stdout = new StreamingCapture(this.secrets);
192
- const stderr = new StreamingCapture(this.secrets);
191
+ const stdout = new StreamingCapture(options.capture === 'private' ? [] : this.secrets);
192
+ const stderr = new StreamingCapture(options.capture === 'private' ? [] : this.secrets);
193
193
  channel.on('data', (chunk) => stdout.push(chunk));
194
194
  channel.stderr.on('data', (chunk) => stderr.push(chunk));
195
195
  channel.once('error', (streamError) => {