devchain-cli 0.24.2 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1341) hide show
  1. package/README.md +12 -3
  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 +4 -2
  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 +511 -3
  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 +56 -0
  23. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -1
  24. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +26 -26
  25. package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.d.ts +6 -6
  26. package/dist/node_modules/@devchain/shared/schemas/index.d.ts +1 -0
  27. package/dist/node_modules/@devchain/shared/schemas/index.d.ts.map +1 -1
  28. package/dist/node_modules/@devchain/shared/schemas/index.js +1 -0
  29. package/dist/node_modules/@devchain/shared/schemas/index.js.map +1 -1
  30. package/dist/node_modules/@devchain/shared/schemas/project-replica.d.ts +3855 -3855
  31. package/dist/node_modules/@devchain/shared/schemas/provider-clis.js +1 -1
  32. package/dist/node_modules/@devchain/shared/schemas/provider-clis.js.map +1 -1
  33. package/dist/node_modules/@devchain/shared/schemas/provider-usage.d.ts +350 -0
  34. package/dist/node_modules/@devchain/shared/schemas/provider-usage.d.ts.map +1 -0
  35. package/dist/node_modules/@devchain/shared/schemas/provider-usage.js +71 -0
  36. package/dist/node_modules/@devchain/shared/schemas/provider-usage.js.map +1 -0
  37. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  38. package/dist/server/app.module.js +4 -0
  39. package/dist/server/app.module.js.map +1 -1
  40. package/dist/server/common/config/env.config.d.ts +6 -0
  41. package/dist/server/common/config/env.config.js +8 -0
  42. package/dist/server/common/config/env.config.js.map +1 -1
  43. package/dist/server/common/config/host-image.json +3 -3
  44. package/dist/server/common/config/integration-admission.d.ts +1 -0
  45. package/dist/server/common/config/integration-admission.js +6 -2
  46. package/dist/server/common/config/integration-admission.js.map +1 -1
  47. package/dist/server/common/config/vm-destroy-fence.d.ts +18 -0
  48. package/dist/server/common/config/vm-destroy-fence.js +38 -0
  49. package/dist/server/common/config/vm-destroy-fence.js.map +1 -0
  50. package/dist/server/common/errors/error-types.d.ts +3 -0
  51. package/dist/server/common/errors/error-types.js +10 -1
  52. package/dist/server/common/errors/error-types.js.map +1 -1
  53. package/dist/server/common/git-shim-paths.d.ts +4 -0
  54. package/dist/server/common/git-shim-paths.js +24 -0
  55. package/dist/server/common/git-shim-paths.js.map +1 -0
  56. package/dist/server/common/http/browser-request-guard.d.ts +8 -0
  57. package/dist/server/common/http/browser-request-guard.js +61 -0
  58. package/dist/server/common/http/browser-request-guard.js.map +1 -0
  59. package/dist/server/common/test/fake-bootstrap.server.d.ts +5 -0
  60. package/dist/server/common/test/fake-bootstrap.server.js +12 -3
  61. package/dist/server/common/test/fake-bootstrap.server.js.map +1 -1
  62. package/dist/server/common/test/fake-docker-engine.server.d.ts +8 -0
  63. package/dist/server/common/test/fake-docker-engine.server.js +34 -1
  64. package/dist/server/common/test/fake-docker-engine.server.js.map +1 -1
  65. package/dist/server/common/test/shared-vm.stub.d.ts +2 -0
  66. package/dist/server/common/test/shared-vm.stub.js +13 -0
  67. package/dist/server/common/test/shared-vm.stub.js.map +1 -0
  68. package/dist/server/common/test/tls-fixture.d.ts +2 -1
  69. package/dist/server/common/test/tls-fixture.js +47 -5
  70. package/dist/server/common/test/tls-fixture.js.map +1 -1
  71. package/dist/server/main.js +2 -0
  72. package/dist/server/main.js.map +1 -1
  73. package/dist/server/modules/agents/agents.module.js +1 -8
  74. package/dist/server/modules/agents/agents.module.js.map +1 -1
  75. package/dist/server/modules/agents/controllers/agents.controller.d.ts +4 -4
  76. package/dist/server/modules/agents/controllers/agents.controller.js +6 -10
  77. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  78. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js +7 -7
  79. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js.map +1 -1
  80. package/dist/server/modules/cloud/services/cloud-session-manager.service.d.ts +12 -0
  81. package/dist/server/modules/cloud/services/cloud-session-manager.service.js +78 -9
  82. package/dist/server/modules/cloud/services/cloud-session-manager.service.js.map +1 -1
  83. package/dist/server/modules/cloud/services/notification-recipient-resolver.service.d.ts +2 -2
  84. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +11 -3
  85. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
  86. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js +2 -2
  87. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js.map +1 -1
  88. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.d.ts +4 -4
  89. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js +6 -6
  90. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js.map +1 -1
  91. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +6 -2
  92. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +11 -2
  93. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
  94. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +509 -1
  95. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +57 -1
  96. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -1
  97. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.d.ts +3 -2
  98. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js +1 -0
  99. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js.map +1 -1
  100. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +3 -2
  101. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
  102. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +14 -3
  103. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +55 -14
  104. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  105. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -1
  106. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.d.ts +2 -2
  107. package/dist/server/modules/core/controllers/docker-archive-owners.d.ts +29 -0
  108. package/dist/server/modules/core/controllers/docker-archive-owners.js +226 -0
  109. package/dist/server/modules/core/controllers/docker-archive-owners.js.map +1 -0
  110. package/dist/server/modules/core/controllers/docker-engine.client.d.ts +4 -0
  111. package/dist/server/modules/core/controllers/docker-engine.client.js +38 -0
  112. package/dist/server/modules/core/controllers/docker-engine.client.js.map +1 -1
  113. package/dist/server/modules/core/controllers/health.controller.d.ts +7 -6
  114. package/dist/server/modules/core/controllers/health.controller.js +1 -1
  115. package/dist/server/modules/core/controllers/health.controller.js.map +1 -1
  116. package/dist/server/modules/core/controllers/runtime.controller.d.ts +2 -56
  117. package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
  118. package/dist/server/modules/core/services/preflight.service.d.ts +2 -2
  119. package/dist/server/modules/core/services/preflight.service.js +4 -3
  120. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  121. package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +3 -0
  122. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +12 -4
  123. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -1
  124. package/dist/server/modules/e2ee/services/e2ee-pairing.service.d.ts +1 -0
  125. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +4 -0
  126. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -1
  127. package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +6 -2
  128. package/dist/server/modules/e2ee/services/e2ee-trust.service.js +16 -5
  129. package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -1
  130. package/dist/server/modules/epic-time/epic-time.module.js +0 -2
  131. package/dist/server/modules/epic-time/epic-time.module.js.map +1 -1
  132. package/dist/server/modules/epic-time/services/agent-time-accounting.service.d.ts +3 -3
  133. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js +12 -12
  134. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js.map +1 -1
  135. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.d.ts +2 -2
  136. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js.map +1 -1
  137. package/dist/server/modules/epic-time/services/epic-time.service.d.ts +3 -3
  138. package/dist/server/modules/epic-time/services/epic-time.service.js +7 -7
  139. package/dist/server/modules/epic-time/services/epic-time.service.js.map +1 -1
  140. package/dist/server/modules/epics/epics.module.js +0 -2
  141. package/dist/server/modules/epics/epics.module.js.map +1 -1
  142. package/dist/server/modules/epics/services/epic-relations.service.d.ts +1 -4
  143. package/dist/server/modules/epics/services/epic-relations.service.js +2 -22
  144. package/dist/server/modules/epics/services/epic-relations.service.js.map +1 -1
  145. package/dist/server/modules/epics/services/epics.service.d.ts +4 -4
  146. package/dist/server/modules/epics/services/epics.service.js +11 -19
  147. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  148. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.d.ts +2 -2
  149. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js +3 -3
  150. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
  151. package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.d.ts +2 -2
  152. package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.js +2 -2
  153. package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.js.map +1 -1
  154. package/dist/server/modules/events/catalog/broadcast-registry.js +8 -0
  155. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  156. package/dist/server/modules/events/catalog/index.d.ts +18 -11
  157. package/dist/server/modules/events/catalog/index.js +3 -0
  158. package/dist/server/modules/events/catalog/index.js.map +1 -1
  159. package/dist/server/modules/events/catalog/on-catalog-event.d.ts +5 -0
  160. package/dist/server/modules/events/catalog/on-catalog-event.js +8 -0
  161. package/dist/server/modules/events/catalog/on-catalog-event.js.map +1 -0
  162. package/dist/server/modules/events/catalog/provider-usage.updated.d.ts +12 -0
  163. package/dist/server/modules/events/catalog/provider-usage.updated.js +13 -0
  164. package/dist/server/modules/events/catalog/provider-usage.updated.js.map +1 -0
  165. package/dist/server/modules/events/catalog/review.comment.created.d.ts +2 -2
  166. package/dist/server/modules/events/catalog/review.created.d.ts +8 -8
  167. package/dist/server/modules/events/signals/session-turn-signals.js.map +1 -0
  168. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.d.ts +0 -5
  169. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js +8 -44
  170. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js.map +1 -1
  171. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.d.ts +0 -5
  172. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js +9 -45
  173. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js.map +1 -1
  174. package/dist/server/modules/external-integrations/adapters/vendor-shared.d.ts +7 -2
  175. package/dist/server/modules/external-integrations/adapters/vendor-shared.js +36 -0
  176. package/dist/server/modules/external-integrations/adapters/vendor-shared.js.map +1 -1
  177. package/dist/server/modules/external-integrations/connections/integration-connections.service.d.ts +2 -2
  178. package/dist/server/modules/external-integrations/connections/integration-connections.service.js.map +1 -1
  179. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.d.ts +2 -2
  180. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js.map +1 -1
  181. package/dist/server/modules/external-integrations/my-work/external-my-work.service.d.ts +2 -2
  182. package/dist/server/modules/external-integrations/my-work/external-my-work.service.js.map +1 -1
  183. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.d.ts +2 -2
  184. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js.map +1 -1
  185. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.d.ts +2 -2
  186. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js.map +1 -1
  187. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.d.ts +2 -2
  188. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js.map +1 -1
  189. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js +1 -2
  190. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js.map +1 -1
  191. package/dist/server/modules/file-sync/file-sync.dto.d.ts +37 -6
  192. package/dist/server/modules/file-sync/file-sync.dto.js +19 -2
  193. package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -1
  194. package/dist/server/modules/file-sync/file-sync.module.js +17 -4
  195. package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
  196. package/dist/server/modules/file-sync/file-sync.service.d.ts +7 -1
  197. package/dist/server/modules/file-sync/file-sync.service.js +43 -4
  198. package/dist/server/modules/file-sync/file-sync.service.js.map +1 -1
  199. package/dist/server/modules/file-sync/git-guard.dto.d.ts +0 -21
  200. package/dist/server/modules/file-sync/git-guard.dto.js +1 -7
  201. package/dist/server/modules/file-sync/git-guard.dto.js.map +1 -1
  202. package/dist/server/modules/file-sync/home-git-guard.service.d.ts +4 -1
  203. package/dist/server/modules/file-sync/home-git-guard.service.js +128 -22
  204. package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -1
  205. package/dist/server/modules/file-sync/host-git-guard.controller.d.ts +7 -6
  206. package/dist/server/modules/file-sync/host-git-guard.controller.js +13 -7
  207. package/dist/server/modules/file-sync/host-git-guard.controller.js.map +1 -1
  208. package/dist/server/modules/file-sync/host-sync.controller.d.ts +22 -21
  209. package/dist/server/modules/file-sync/host-sync.controller.js +71 -46
  210. package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
  211. package/dist/server/modules/file-sync/ignore-pattern-matcher.d.ts +3 -0
  212. package/dist/server/modules/file-sync/ignore-pattern-matcher.js +58 -14
  213. package/dist/server/modules/file-sync/ignore-pattern-matcher.js.map +1 -1
  214. package/dist/server/modules/file-sync/sync-path-inspection.dto.d.ts +11 -27
  215. package/dist/server/modules/file-sync/sync-path-inspection.dto.js +1 -9
  216. package/dist/server/modules/file-sync/sync-path-inspection.dto.js.map +1 -1
  217. package/dist/server/modules/file-sync/sync-path-inspector.d.ts +1 -1
  218. package/dist/server/modules/file-sync/sync-path-inspector.js +20 -4
  219. package/dist/server/modules/file-sync/sync-path-inspector.js.map +1 -1
  220. package/dist/server/modules/file-sync/syncthing-launcher.d.ts +5 -0
  221. package/dist/server/modules/file-sync/syncthing-launcher.js +22 -1
  222. package/dist/server/modules/file-sync/syncthing-launcher.js.map +1 -1
  223. package/dist/server/modules/file-sync/syncthing-manager.service.d.ts +2 -0
  224. package/dist/server/modules/file-sync/syncthing-manager.service.js +27 -11
  225. package/dist/server/modules/file-sync/syncthing-manager.service.js.map +1 -1
  226. package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +6 -2
  227. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +9 -0
  228. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -1
  229. package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.d.ts +3 -0
  230. package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.js +11 -0
  231. package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.js.map +1 -1
  232. package/dist/server/modules/git/services/git.service.d.ts +3 -2
  233. package/dist/server/modules/git/services/git.service.js +12 -0
  234. package/dist/server/modules/git/services/git.service.js.map +1 -1
  235. package/dist/server/modules/guests/guests.module.js +1 -1
  236. package/dist/server/modules/guests/guests.module.js.map +1 -1
  237. package/dist/server/modules/guests/services/guest-health.service.d.ts +3 -1
  238. package/dist/server/modules/guests/services/guest-health.service.js +15 -5
  239. package/dist/server/modules/guests/services/guest-health.service.js.map +1 -1
  240. package/dist/server/modules/guests/services/guests.service.d.ts +2 -2
  241. package/dist/server/modules/guests/services/guests.service.js +0 -2
  242. package/dist/server/modules/guests/services/guests.service.js.map +1 -1
  243. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +4 -4
  244. package/dist/server/modules/hooks/services/hooks.service.js +1 -1
  245. package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
  246. package/dist/server/modules/hooks/services/pending-ask-user-question.service.d.ts +3 -6
  247. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js +3 -3
  248. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js.map +1 -1
  249. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +95 -1
  250. package/dist/server/modules/mcp/dtos/mcp.dto.js +45 -2
  251. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  252. package/dist/server/modules/mcp/mcp-full.module.js +2 -2
  253. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
  254. package/dist/server/modules/mcp/services/handlers/chat-context.d.ts +2 -2
  255. package/dist/server/modules/mcp/services/handlers/chat-tools.js +1 -1
  256. package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -1
  257. package/dist/server/modules/mcp/services/handlers/epic-context.d.ts +2 -2
  258. package/dist/server/modules/mcp/services/handlers/epic-tools.js +16 -0
  259. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  260. package/dist/server/modules/mcp/services/handlers/teams-tools.d.ts +1 -0
  261. package/dist/server/modules/mcp/services/handlers/teams-tools.js +51 -0
  262. package/dist/server/modules/mcp/services/handlers/teams-tools.js.map +1 -1
  263. package/dist/server/modules/mcp/services/handlers/worktree-context.d.ts +6 -0
  264. package/dist/server/modules/mcp/services/handlers/worktree-context.js +3 -0
  265. package/dist/server/modules/mcp/services/handlers/worktree-context.js.map +1 -0
  266. package/dist/server/modules/mcp/services/handlers/worktree-tools.d.ts +7 -0
  267. package/dist/server/modules/mcp/services/handlers/worktree-tools.js +77 -0
  268. package/dist/server/modules/mcp/services/handlers/worktree-tools.js.map +1 -0
  269. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +4 -4
  270. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +8 -4
  271. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
  272. package/dist/server/modules/mcp/services/mcp.service.d.ts +2 -2
  273. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  274. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +6 -4
  275. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
  276. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +1 -1
  277. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
  278. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js +2 -2
  279. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -1
  280. package/dist/server/modules/mcp/tool-descriptors/index.js +2 -0
  281. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
  282. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js +2 -0
  283. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js.map +1 -1
  284. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js +1 -0
  285. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js.map +1 -1
  286. package/dist/server/modules/mcp/tool-descriptors/team.metadata.js +33 -0
  287. package/dist/server/modules/mcp/tool-descriptors/team.metadata.js.map +1 -1
  288. package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.d.ts +1 -0
  289. package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.js +20 -0
  290. package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.js.map +1 -0
  291. package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.d.ts +2 -0
  292. package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.js +105 -0
  293. package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.js.map +1 -0
  294. package/dist/server/modules/profiles/controllers/profiles.controller.d.ts +7 -31
  295. package/dist/server/modules/profiles/controllers/profiles.controller.js +10 -13
  296. package/dist/server/modules/profiles/controllers/profiles.controller.js.map +1 -1
  297. package/dist/server/modules/profiles/dto.d.ts +17 -0
  298. package/dist/server/modules/profiles/dto.js.map +1 -1
  299. package/dist/server/modules/profiles/profiles.module.js +1 -2
  300. package/dist/server/modules/profiles/profiles.module.js.map +1 -1
  301. package/dist/server/modules/profiles/services/provider-configs.service.d.ts +1 -4
  302. package/dist/server/modules/profiles/services/provider-configs.service.js +3 -12
  303. package/dist/server/modules/profiles/services/provider-configs.service.js.map +1 -1
  304. package/dist/server/modules/project-communication/project-communication.module.js +1 -2
  305. package/dist/server/modules/project-communication/project-communication.module.js.map +1 -1
  306. package/dist/server/modules/project-communication/project-communication.service.d.ts +4 -4
  307. package/dist/server/modules/project-communication/project-communication.service.js +8 -8
  308. package/dist/server/modules/project-communication/project-communication.service.js.map +1 -1
  309. package/dist/server/modules/projects/controllers/projects.controller.d.ts +4 -17
  310. package/dist/server/modules/projects/controllers/projects.controller.js +2 -9
  311. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  312. package/dist/server/modules/projects/dtos/project-presets.dto.d.ts +5 -0
  313. package/dist/server/modules/projects/dtos/project-presets.dto.js +3 -0
  314. package/dist/server/modules/projects/dtos/project-presets.dto.js.map +1 -0
  315. package/dist/server/modules/projects/helpers/project-export.d.ts +2 -2
  316. package/dist/server/modules/projects/helpers/project-export.js.map +1 -1
  317. package/dist/server/modules/projects/helpers/project-import.d.ts +3 -2
  318. package/dist/server/modules/projects/helpers/project-import.js.map +1 -1
  319. package/dist/server/modules/projects/helpers/project-presets.helpers.d.ts +2 -2
  320. package/dist/server/modules/projects/helpers/project-presets.helpers.js.map +1 -1
  321. package/dist/server/modules/projects/helpers/template-loader.d.ts +3 -2
  322. package/dist/server/modules/projects/helpers/template-loader.js.map +1 -1
  323. package/dist/server/modules/projects/projects.module.js +0 -2
  324. package/dist/server/modules/projects/projects.module.js.map +1 -1
  325. package/dist/server/modules/projects/services/project-provider-provisioning.service.d.ts +2 -2
  326. package/dist/server/modules/projects/services/project-provider-provisioning.service.js.map +1 -1
  327. package/dist/server/modules/projects/services/project-registry-import.service.d.ts +2 -2
  328. package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -1
  329. package/dist/server/modules/projects/services/project-template-upgrade.service.d.ts +3 -3
  330. package/dist/server/modules/projects/services/project-template-upgrade.service.js +6 -7
  331. package/dist/server/modules/projects/services/project-template-upgrade.service.js.map +1 -1
  332. package/dist/server/modules/projects/services/projects.service.d.ts +4 -4
  333. package/dist/server/modules/projects/services/projects.service.js +7 -9
  334. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  335. package/dist/server/modules/projects/template-codec/codecs/scheduled-epics.codec.d.ts +2 -2
  336. package/dist/server/modules/projects/template-codec/codecs/scheduled-epics.codec.js.map +1 -1
  337. package/dist/server/modules/projects/template-codec/codecs/teams.codec.d.ts +2 -2
  338. package/dist/server/modules/projects/template-codec/codecs/teams.codec.js.map +1 -1
  339. package/dist/server/modules/projects/template-codec/codecs/watchers.codec.d.ts +1 -1
  340. package/dist/server/modules/projects/template-codec/codecs/watchers.codec.js.map +1 -1
  341. package/dist/server/modules/projects/template-codec/template-section-codec.d.ts +3 -3
  342. package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +1 -3
  343. package/dist/server/modules/prompts/controllers/prompts.controller.js +3 -8
  344. package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -1
  345. package/dist/server/modules/prompts/prompts.module.js +1 -2
  346. package/dist/server/modules/prompts/prompts.module.js.map +1 -1
  347. package/dist/server/modules/provider-auth/opencode-credential-family.v2.d.ts +4 -0
  348. package/dist/server/modules/provider-auth/opencode-credential-family.v2.js +41 -0
  349. package/dist/server/modules/provider-auth/opencode-credential-family.v2.js.map +1 -0
  350. package/dist/server/modules/provider-auth/opencode-credentials.d.ts +25 -0
  351. package/dist/server/modules/provider-auth/opencode-credentials.js +102 -0
  352. package/dist/server/modules/provider-auth/opencode-credentials.js.map +1 -0
  353. package/dist/server/modules/provider-auth/opencode-pc-logins.service.d.ts +11 -0
  354. package/dist/server/modules/provider-auth/opencode-pc-logins.service.js +62 -0
  355. package/dist/server/modules/provider-auth/opencode-pc-logins.service.js.map +1 -0
  356. package/dist/server/modules/provider-auth/opencode-pc-logins.v1.d.ts +1 -0
  357. package/dist/server/modules/provider-auth/opencode-pc-logins.v1.js +25 -0
  358. package/dist/server/modules/provider-auth/opencode-pc-logins.v1.js.map +1 -0
  359. package/dist/server/modules/provider-auth/opencode-pc-logins.v2.d.ts +3 -0
  360. package/dist/server/modules/provider-auth/opencode-pc-logins.v2.js +25 -0
  361. package/dist/server/modules/provider-auth/opencode-pc-logins.v2.js.map +1 -0
  362. package/dist/server/modules/provider-auth/provider-auth-adapters.d.ts +4 -1
  363. package/dist/server/modules/provider-auth/provider-auth-adapters.js +65 -33
  364. package/dist/server/modules/provider-auth/provider-auth-adapters.js.map +1 -1
  365. package/dist/server/modules/provider-auth/provider-auth-generator.service.d.ts +3 -1
  366. package/dist/server/modules/provider-auth/provider-auth-generator.service.js +12 -6
  367. package/dist/server/modules/provider-auth/provider-auth-generator.service.js.map +1 -1
  368. package/dist/server/modules/provider-auth/provider-auth-vault.service.d.ts +3 -2
  369. package/dist/server/modules/provider-auth/provider-auth-vault.service.js +8 -25
  370. package/dist/server/modules/provider-auth/provider-auth-vault.service.js.map +1 -1
  371. package/dist/server/modules/provider-auth/provider-auth-watcher.service.d.ts +5 -1
  372. package/dist/server/modules/provider-auth/provider-auth-watcher.service.js +32 -1
  373. package/dist/server/modules/provider-auth/provider-auth-watcher.service.js.map +1 -1
  374. package/dist/server/modules/provider-auth/provider-auth.module.js +4 -0
  375. package/dist/server/modules/provider-auth/provider-auth.module.js.map +1 -1
  376. package/dist/server/modules/provider-usage/checkers/agy.checker.d.ts +15 -0
  377. package/dist/server/modules/provider-usage/checkers/agy.checker.js +129 -0
  378. package/dist/server/modules/provider-usage/checkers/agy.checker.js.map +1 -0
  379. package/dist/server/modules/provider-usage/checkers/checker-helpers.d.ts +4 -0
  380. package/dist/server/modules/provider-usage/checkers/checker-helpers.js +12 -0
  381. package/dist/server/modules/provider-usage/checkers/checker-helpers.js.map +1 -0
  382. package/dist/server/modules/provider-usage/checkers/claude-login.checker.d.ts +10 -0
  383. package/dist/server/modules/provider-usage/checkers/claude-login.checker.js +92 -0
  384. package/dist/server/modules/provider-usage/checkers/claude-login.checker.js.map +1 -0
  385. package/dist/server/modules/provider-usage/checkers/claude-token.checker.d.ts +5 -0
  386. package/dist/server/modules/provider-usage/checkers/claude-token.checker.js +80 -0
  387. package/dist/server/modules/provider-usage/checkers/claude-token.checker.js.map +1 -0
  388. package/dist/server/modules/provider-usage/checkers/claude-usage-parser.d.ts +12 -0
  389. package/dist/server/modules/provider-usage/checkers/claude-usage-parser.js +113 -0
  390. package/dist/server/modules/provider-usage/checkers/claude-usage-parser.js.map +1 -0
  391. package/dist/server/modules/provider-usage/checkers/codex.checker.d.ts +7 -0
  392. package/dist/server/modules/provider-usage/checkers/codex.checker.js +159 -0
  393. package/dist/server/modules/provider-usage/checkers/codex.checker.js.map +1 -0
  394. package/dist/server/modules/provider-usage/checkers/private-cwd.d.ts +1 -0
  395. package/dist/server/modules/provider-usage/checkers/private-cwd.js +8 -0
  396. package/dist/server/modules/provider-usage/checkers/private-cwd.js.map +1 -0
  397. package/dist/server/modules/provider-usage/controllers/provider-usage.controller.d.ts +7 -0
  398. package/dist/server/modules/provider-usage/controllers/provider-usage.controller.js +51 -0
  399. package/dist/server/modules/provider-usage/controllers/provider-usage.controller.js.map +1 -0
  400. package/dist/server/modules/provider-usage/provider-usage.module.d.ts +2 -0
  401. package/dist/server/modules/provider-usage/provider-usage.module.js +58 -0
  402. package/dist/server/modules/provider-usage/provider-usage.module.js.map +1 -0
  403. package/dist/server/modules/provider-usage/provider-usage.types.d.ts +26 -0
  404. package/dist/server/modules/provider-usage/provider-usage.types.js +5 -0
  405. package/dist/server/modules/provider-usage/provider-usage.types.js.map +1 -0
  406. package/dist/server/modules/provider-usage/services/provider-usage-accounts.d.ts +5 -0
  407. package/dist/server/modules/provider-usage/services/provider-usage-accounts.js +94 -0
  408. package/dist/server/modules/provider-usage/services/provider-usage-accounts.js.map +1 -0
  409. package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.d.ts +23 -0
  410. package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.js +81 -0
  411. package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.js.map +1 -0
  412. package/dist/server/modules/provider-usage/services/provider-usage.service.d.ts +37 -0
  413. package/dist/server/modules/provider-usage/services/provider-usage.service.js +262 -0
  414. package/dist/server/modules/provider-usage/services/provider-usage.service.js.map +1 -0
  415. package/dist/server/modules/providers/adapters/antigravity.adapter.d.ts +1 -1
  416. package/dist/server/modules/providers/adapters/antigravity.adapter.js +2 -1
  417. package/dist/server/modules/providers/adapters/antigravity.adapter.js.map +1 -1
  418. package/dist/server/modules/providers/adapters/antigravity.traits.d.ts +2 -0
  419. package/dist/server/modules/providers/adapters/antigravity.traits.js +9 -0
  420. package/dist/server/modules/providers/adapters/antigravity.traits.js.map +1 -0
  421. package/dist/server/modules/providers/adapters/capabilities/hook.capability.d.ts +0 -1
  422. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -2
  423. package/dist/server/modules/providers/adapters/capabilities/index.js +2 -1
  424. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
  425. package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.d.ts +0 -1
  426. package/dist/server/modules/providers/adapters/capabilities/provider-plugin.capability.d.ts +16 -2
  427. package/dist/server/modules/providers/adapters/capabilities/session-command.capability.d.ts +5 -0
  428. package/dist/server/modules/providers/adapters/capabilities/session-command.capability.js +3 -0
  429. package/dist/server/modules/providers/adapters/capabilities/session-command.capability.js.map +1 -0
  430. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +4 -2
  431. package/dist/server/modules/providers/adapters/capabilities/type-guards.js +5 -3
  432. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
  433. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +7 -6
  434. package/dist/server/modules/providers/adapters/claude.adapter.js +12 -10
  435. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  436. package/dist/server/modules/providers/adapters/claude.traits.d.ts +2 -0
  437. package/dist/server/modules/providers/adapters/claude.traits.js +9 -0
  438. package/dist/server/modules/providers/adapters/claude.traits.js.map +1 -0
  439. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +7 -8
  440. package/dist/server/modules/providers/adapters/codex.adapter.js +50 -46
  441. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  442. package/dist/server/modules/providers/adapters/codex.traits.d.ts +2 -0
  443. package/dist/server/modules/providers/adapters/codex.traits.js +9 -0
  444. package/dist/server/modules/providers/adapters/codex.traits.js.map +1 -0
  445. package/dist/server/modules/providers/adapters/copilot.adapter.d.ts +1 -3
  446. package/dist/server/modules/providers/adapters/copilot.adapter.js +3 -6
  447. package/dist/server/modules/providers/adapters/copilot.adapter.js.map +1 -1
  448. package/dist/server/modules/providers/adapters/copilot.traits.d.ts +2 -0
  449. package/dist/server/modules/providers/adapters/copilot.traits.js +9 -0
  450. package/dist/server/modules/providers/adapters/copilot.traits.js.map +1 -0
  451. package/dist/server/modules/providers/adapters/opencode-cli-version.d.ts +13 -0
  452. package/dist/server/modules/providers/adapters/opencode-cli-version.js +24 -0
  453. package/dist/server/modules/providers/adapters/opencode-cli-version.js.map +1 -0
  454. package/dist/server/modules/providers/adapters/opencode-config-content.d.ts +1 -0
  455. package/dist/server/modules/providers/adapters/opencode-config-content.js +43 -0
  456. package/dist/server/modules/providers/adapters/opencode-config-content.js.map +1 -0
  457. package/dist/server/modules/providers/adapters/opencode-launch.v1.d.ts +4 -0
  458. package/dist/server/modules/providers/adapters/opencode-launch.v1.js +10 -0
  459. package/dist/server/modules/providers/adapters/opencode-launch.v1.js.map +1 -0
  460. package/dist/server/modules/providers/adapters/opencode-launch.v2.d.ts +2 -0
  461. package/dist/server/modules/providers/adapters/opencode-launch.v2.js +18 -0
  462. package/dist/server/modules/providers/adapters/opencode-launch.v2.js.map +1 -0
  463. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +4 -5
  464. package/dist/server/modules/providers/adapters/opencode.adapter.js +13 -45
  465. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
  466. package/dist/server/modules/providers/adapters/opencode.traits.d.ts +2 -0
  467. package/dist/server/modules/providers/adapters/opencode.traits.js +9 -0
  468. package/dist/server/modules/providers/adapters/opencode.traits.js.map +1 -0
  469. package/dist/server/modules/providers/adapters/plugin-catalog.utils.d.ts +3 -0
  470. package/dist/server/modules/providers/adapters/plugin-catalog.utils.js +10 -0
  471. package/dist/server/modules/providers/adapters/plugin-catalog.utils.js.map +1 -1
  472. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +2 -2
  473. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  474. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +11 -3
  475. package/dist/server/modules/providers/adapters/provider-cli-policy.d.ts +3 -0
  476. package/dist/server/modules/providers/adapters/provider-cli-policy.js +8 -0
  477. package/dist/server/modules/providers/adapters/provider-cli-policy.js.map +1 -1
  478. package/dist/server/modules/providers/adapters/provider-traits.d.ts +9 -0
  479. package/dist/server/modules/providers/adapters/provider-traits.js +28 -0
  480. package/dist/server/modules/providers/adapters/provider-traits.js.map +1 -0
  481. package/dist/server/modules/providers/controllers/provider-efforts.controller.d.ts +9 -7
  482. package/dist/server/modules/providers/controllers/provider-efforts.controller.js.map +1 -1
  483. package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +3 -1
  484. package/dist/server/modules/providers/controllers/provider-models.controller.js +18 -3
  485. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
  486. package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.d.ts +2 -2
  487. package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.js.map +1 -1
  488. package/dist/server/modules/providers/controllers/providers.controller.d.ts +1 -1
  489. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  490. package/dist/server/modules/providers/provider-traits.types.d.ts +5 -0
  491. package/dist/server/modules/providers/provider-traits.types.js +3 -0
  492. package/dist/server/modules/providers/provider-traits.types.js.map +1 -0
  493. package/dist/server/modules/providers/providers.module.js +5 -2
  494. package/dist/server/modules/providers/providers.module.js.map +1 -1
  495. package/dist/server/modules/providers/services/codex-app-server.client.d.ts +11 -0
  496. package/dist/server/modules/providers/services/codex-app-server.client.js +129 -0
  497. package/dist/server/modules/providers/services/codex-app-server.client.js.map +1 -0
  498. package/dist/server/modules/providers/services/mcp-provider-registration.service.d.ts +2 -2
  499. package/dist/server/modules/providers/services/mcp-provider-registration.service.js +2 -1
  500. package/dist/server/modules/providers/services/mcp-provider-registration.service.js.map +1 -1
  501. package/dist/server/modules/providers/services/provider-cli-installer.service.d.ts +1 -1
  502. package/dist/server/modules/providers/services/provider-cli-installer.service.js.map +1 -1
  503. package/dist/server/modules/providers/services/provider-cli-version-probe.module.d.ts +2 -0
  504. package/dist/server/modules/providers/services/provider-cli-version-probe.module.js +23 -0
  505. package/dist/server/modules/providers/services/provider-cli-version-probe.module.js.map +1 -0
  506. package/dist/server/modules/providers/services/provider-cli-version-probe.service.d.ts +8 -0
  507. package/dist/server/modules/providers/services/provider-cli-version-probe.service.js +65 -0
  508. package/dist/server/modules/providers/services/provider-cli-version-probe.service.js.map +1 -0
  509. package/dist/server/modules/providers/services/provider-discovery.service.d.ts +1 -1
  510. package/dist/server/modules/providers/services/provider-discovery.service.js.map +1 -1
  511. package/dist/server/modules/providers/services/provider-effort-seeding.service.d.ts +1 -1
  512. package/dist/server/modules/providers/services/provider-effort-seeding.service.js.map +1 -1
  513. package/dist/server/modules/providers/services/provider-mcp-ensure.service.d.ts +4 -4
  514. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js +8 -7
  515. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js.map +1 -1
  516. package/dist/server/modules/providers/services/provider-plugin-policy.service.d.ts +2 -2
  517. package/dist/server/modules/providers/services/provider-plugin-policy.service.js.map +1 -1
  518. package/dist/server/modules/providers/services/provider-plugins.service.d.ts +5 -1
  519. package/dist/server/modules/providers/services/provider-plugins.service.js +43 -16
  520. package/dist/server/modules/providers/services/provider-plugins.service.js.map +1 -1
  521. package/dist/server/modules/providers/services/provider-project-sync.service.d.ts +4 -4
  522. package/dist/server/modules/providers/services/provider-project-sync.service.js +6 -6
  523. package/dist/server/modules/providers/services/provider-project-sync.service.js.map +1 -1
  524. package/dist/server/modules/providers/services/provider-state-manager.service.d.ts +2 -2
  525. package/dist/server/modules/providers/services/provider-state-manager.service.js +1 -1
  526. package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -1
  527. package/dist/server/modules/providers/utils/claude-config.js.map +1 -0
  528. package/dist/server/modules/{sessions → providers}/utils/codex-config.d.ts +9 -0
  529. package/dist/server/modules/{sessions → providers}/utils/codex-config.js +34 -16
  530. package/dist/server/modules/providers/utils/codex-config.js.map +1 -0
  531. package/dist/server/modules/providers/utils/env-builder.js.map +1 -0
  532. package/dist/server/modules/providers/utils/private-cwd.d.ts +1 -0
  533. package/dist/server/modules/providers/utils/private-cwd.js +12 -0
  534. package/dist/server/modules/providers/utils/private-cwd.js.map +1 -0
  535. package/dist/server/modules/{sessions → providers}/utils/profile-options.d.ts +1 -1
  536. package/dist/server/modules/providers/utils/profile-options.js.map +1 -0
  537. package/dist/server/modules/registry/controllers/registry.controller.d.ts +2 -2
  538. package/dist/server/modules/registry/controllers/registry.controller.js.map +1 -1
  539. package/dist/server/modules/registry/controllers/templates.controller.d.ts +3 -3
  540. package/dist/server/modules/registry/services/registry-orchestration.service.d.ts +3 -1
  541. package/dist/server/modules/registry/services/registry-orchestration.service.js +14 -2
  542. package/dist/server/modules/registry/services/registry-orchestration.service.js.map +1 -1
  543. package/dist/server/modules/remotes/admission/project-write-admission.module.js +3 -5
  544. package/dist/server/modules/remotes/admission/project-write-admission.module.js.map +1 -1
  545. package/dist/server/modules/remotes/admission/project-write-admission.service.d.ts +6 -17
  546. package/dist/server/modules/remotes/admission/project-write-admission.service.js +11 -62
  547. package/dist/server/modules/remotes/admission/project-write-admission.service.js.map +1 -1
  548. package/dist/server/modules/remotes/contract/host-routes.d.ts +29681 -0
  549. package/dist/server/modules/remotes/contract/host-routes.js +557 -0
  550. package/dist/server/modules/remotes/contract/host-routes.js.map +1 -0
  551. package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.d.ts +10 -0
  552. package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.js +59 -0
  553. package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.js.map +1 -0
  554. package/dist/server/modules/remotes/controllers/remotes.controller.js +1 -0
  555. package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -1
  556. package/dist/server/modules/remotes/docker/docker-compose-user-fix.d.ts +3 -0
  557. package/dist/server/modules/remotes/docker/docker-compose-user-fix.js +212 -0
  558. package/dist/server/modules/remotes/docker/docker-compose-user-fix.js.map +1 -0
  559. package/dist/server/modules/remotes/docker/docker-copy-back-exclusions.d.ts +27 -0
  560. package/dist/server/modules/remotes/docker/docker-copy-back-exclusions.js +185 -0
  561. package/dist/server/modules/remotes/docker/docker-copy-back-exclusions.js.map +1 -0
  562. package/dist/server/modules/remotes/docker/docker-copy-back.d.ts +15 -1
  563. package/dist/server/modules/remotes/docker/docker-copy-back.dto.d.ts +8 -1
  564. package/dist/server/modules/remotes/docker/docker-copy-back.dto.js +3 -1
  565. package/dist/server/modules/remotes/docker/docker-copy-back.dto.js.map +1 -1
  566. package/dist/server/modules/remotes/docker/docker-copy-back.js +751 -149
  567. package/dist/server/modules/remotes/docker/docker-copy-back.js.map +1 -1
  568. package/dist/server/modules/remotes/docker/docker-data-groups.d.ts +3 -3
  569. package/dist/server/modules/remotes/docker/docker-data-groups.js +20 -6
  570. package/dist/server/modules/remotes/docker/docker-data-groups.js.map +1 -1
  571. package/dist/server/modules/remotes/docker/docker-data-representation.d.ts +9 -0
  572. package/dist/server/modules/remotes/docker/docker-data-representation.js +85 -0
  573. package/dist/server/modules/remotes/docker/docker-data-representation.js.map +1 -0
  574. package/dist/server/modules/remotes/docker/docker-handoff.d.ts +7 -4
  575. package/dist/server/modules/remotes/docker/docker-handoff.js +258 -32
  576. package/dist/server/modules/remotes/docker/docker-handoff.js.map +1 -1
  577. package/dist/server/modules/remotes/docker/docker-handoff.store.d.ts +37 -7
  578. package/dist/server/modules/remotes/docker/docker-handoff.store.js.map +1 -1
  579. package/dist/server/modules/remotes/docker/docker-ownership.d.ts +26 -0
  580. package/dist/server/modules/remotes/docker/docker-ownership.js +182 -0
  581. package/dist/server/modules/remotes/docker/docker-ownership.js.map +1 -0
  582. package/dist/server/modules/remotes/docker/docker-plan-files.d.ts +1 -0
  583. package/dist/server/modules/remotes/docker/docker-plan-files.js +4 -0
  584. package/dist/server/modules/remotes/docker/docker-plan-files.js.map +1 -1
  585. package/dist/server/modules/remotes/docker/docker-plan-fit.d.ts +3 -3
  586. package/dist/server/modules/remotes/docker/docker-plan-fit.js +7 -2
  587. package/dist/server/modules/remotes/docker/docker-plan-fit.js.map +1 -1
  588. package/dist/server/modules/remotes/docker/docker-plan-policy.d.ts +1 -1
  589. package/dist/server/modules/remotes/docker/docker-plan-policy.js +105 -14
  590. package/dist/server/modules/remotes/docker/docker-plan-policy.js.map +1 -1
  591. package/dist/server/modules/remotes/docker/docker-plan-source.service.d.ts +7 -2
  592. package/dist/server/modules/remotes/docker/docker-plan-source.service.js +215 -14
  593. package/dist/server/modules/remotes/docker/docker-plan-source.service.js.map +1 -1
  594. package/dist/server/modules/remotes/docker/docker-plan.controller.d.ts +3 -1
  595. package/dist/server/modules/remotes/docker/docker-plan.controller.js +39 -0
  596. package/dist/server/modules/remotes/docker/docker-plan.controller.js.map +1 -1
  597. package/dist/server/modules/remotes/docker/docker-plan.dto.d.ts +112 -14
  598. package/dist/server/modules/remotes/docker/docker-plan.dto.js +11 -2
  599. package/dist/server/modules/remotes/docker/docker-plan.dto.js.map +1 -1
  600. package/dist/server/modules/remotes/docker/docker-plan.service.d.ts +6 -3
  601. package/dist/server/modules/remotes/docker/docker-plan.service.js +207 -9
  602. package/dist/server/modules/remotes/docker/docker-plan.service.js.map +1 -1
  603. package/dist/server/modules/remotes/docker/docker-project-compose.d.ts +1 -1
  604. package/dist/server/modules/remotes/docker/docker-project-compose.js +2 -3
  605. package/dist/server/modules/remotes/docker/docker-project-compose.js.map +1 -1
  606. package/dist/server/modules/remotes/docker/docker-project-resources.d.ts +14 -0
  607. package/dist/server/modules/remotes/docker/docker-project-resources.js +33 -0
  608. package/dist/server/modules/remotes/docker/docker-project-resources.js.map +1 -0
  609. package/dist/server/modules/remotes/dtos/remote-notices.dto.d.ts +4 -0
  610. package/dist/server/modules/remotes/dtos/remote-notices.dto.js +3 -0
  611. package/dist/server/modules/remotes/dtos/remote-notices.dto.js.map +1 -0
  612. package/dist/server/modules/remotes/dtos/remote.dto.d.ts +2 -0
  613. package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -1
  614. package/dist/server/modules/remotes/dtos/shared-vm.dto.d.ts +488 -0
  615. package/dist/server/modules/remotes/dtos/shared-vm.dto.js +60 -0
  616. package/dist/server/modules/remotes/dtos/shared-vm.dto.js.map +1 -0
  617. package/dist/server/modules/remotes/git-coordinator/git-checkpoint.d.ts +5 -0
  618. package/dist/server/modules/remotes/git-coordinator/git-checkpoint.js +95 -0
  619. package/dist/server/modules/remotes/git-coordinator/git-checkpoint.js.map +1 -0
  620. package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.d.ts +18 -0
  621. package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.js +192 -0
  622. package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.js.map +1 -0
  623. package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.d.ts +519 -0
  624. package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.js +104 -0
  625. package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.js.map +1 -0
  626. package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.d.ts +66 -0
  627. package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.js +555 -0
  628. package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.js.map +1 -0
  629. package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.d.ts +11 -0
  630. package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.js +69 -0
  631. package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.js.map +1 -0
  632. package/dist/server/modules/remotes/git-coordinator/git-process-identity.d.ts +3 -0
  633. package/dist/server/modules/remotes/git-coordinator/git-process-identity.js +71 -0
  634. package/dist/server/modules/remotes/git-coordinator/git-process-identity.js.map +1 -0
  635. package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.d.ts +19 -0
  636. package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.js +181 -0
  637. package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.js.map +1 -0
  638. package/dist/server/modules/remotes/git-coordinator/loopback.d.ts +2 -0
  639. package/dist/server/modules/remotes/git-coordinator/loopback.js +10 -0
  640. package/dist/server/modules/remotes/git-coordinator/loopback.js.map +1 -0
  641. package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.d.ts +9 -0
  642. package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.js +66 -0
  643. package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.js.map +1 -0
  644. package/dist/server/modules/remotes/git-owner.store.d.ts +102 -1
  645. package/dist/server/modules/remotes/git-owner.store.js +37 -11
  646. package/dist/server/modules/remotes/git-owner.store.js.map +1 -1
  647. package/dist/server/modules/remotes/git-shim/git-shim-registry.service.d.ts +31 -0
  648. package/dist/server/modules/remotes/git-shim/git-shim-registry.service.js +175 -0
  649. package/dist/server/modules/remotes/git-shim/git-shim-registry.service.js.map +1 -0
  650. package/dist/server/modules/remotes/git-writes/change-barrier.d.ts +16 -0
  651. package/dist/server/modules/remotes/git-writes/change-barrier.js +40 -0
  652. package/dist/server/modules/remotes/git-writes/change-barrier.js.map +1 -0
  653. package/dist/server/modules/remotes/git-writes/home-git-handover.service.d.ts +42 -0
  654. package/dist/server/modules/remotes/git-writes/home-git-handover.service.js +349 -0
  655. package/dist/server/modules/remotes/git-writes/home-git-handover.service.js.map +1 -0
  656. package/dist/server/modules/remotes/git-writes/home-git-transitions.d.ts +16 -0
  657. package/dist/server/modules/remotes/git-writes/home-git-transitions.js +12 -0
  658. package/dist/server/modules/remotes/git-writes/home-git-transitions.js.map +1 -0
  659. package/dist/server/modules/remotes/git-writes/home-git-write.controller.d.ts +10 -0
  660. package/dist/server/modules/remotes/git-writes/home-git-write.controller.js +74 -0
  661. package/dist/server/modules/remotes/git-writes/home-git-write.controller.js.map +1 -0
  662. package/dist/server/modules/remotes/git-writes/home-git-write.service.d.ts +72 -0
  663. package/dist/server/modules/remotes/git-writes/home-git-write.service.js +481 -0
  664. package/dist/server/modules/remotes/git-writes/home-git-write.service.js.map +1 -0
  665. package/dist/server/modules/remotes/git-writes/home-git-write.store.d.ts +39 -0
  666. package/dist/server/modules/remotes/git-writes/home-git-write.store.js +78 -0
  667. package/dist/server/modules/remotes/git-writes/home-git-write.store.js.map +1 -0
  668. package/dist/server/modules/remotes/host/host-api-key-io.adapter.js +3 -3
  669. package/dist/server/modules/remotes/host/host-api-key-io.adapter.js.map +1 -1
  670. package/dist/server/modules/remotes/host/host-api-key.module.js +3 -2
  671. package/dist/server/modules/remotes/host/host-api-key.module.js.map +1 -1
  672. package/dist/server/modules/remotes/host/host-api-key.service.d.ts +6 -4
  673. package/dist/server/modules/remotes/host/host-api-key.service.js +30 -10
  674. package/dist/server/modules/remotes/host/host-api-key.service.js.map +1 -1
  675. package/dist/server/modules/remotes/host/host-docker-volume-associations.store.d.ts +14 -0
  676. package/dist/server/modules/remotes/host/host-docker-volume-associations.store.js +91 -0
  677. package/dist/server/modules/remotes/host/host-docker-volume-associations.store.js.map +1 -0
  678. package/dist/server/modules/remotes/host/host-docker.dto.d.ts +41 -0
  679. package/dist/server/modules/remotes/host/host-docker.dto.js +12 -2
  680. package/dist/server/modules/remotes/host/host-docker.dto.js.map +1 -1
  681. package/dist/server/modules/remotes/host/host-docker.service.d.ts +9 -2
  682. package/dist/server/modules/remotes/host/host-docker.service.js +174 -78
  683. package/dist/server/modules/remotes/host/host-docker.service.js.map +1 -1
  684. package/dist/server/modules/remotes/host/host-helper.dto.d.ts +50 -0
  685. package/dist/server/modules/remotes/host/host-helper.dto.js +69 -0
  686. package/dist/server/modules/remotes/host/host-helper.dto.js.map +1 -0
  687. package/dist/server/modules/remotes/host/host-helper.module.d.ts +2 -0
  688. package/dist/server/modules/remotes/host/host-helper.module.js +23 -0
  689. package/dist/server/modules/remotes/host/host-helper.module.js.map +1 -0
  690. package/dist/server/modules/remotes/host/host-helper.service.d.ts +6 -40
  691. package/dist/server/modules/remotes/host/host-helper.service.js +13 -20
  692. package/dist/server/modules/remotes/host/host-helper.service.js.map +1 -1
  693. package/dist/server/modules/remotes/host/host-opencode-credentials.v2.d.ts +7 -0
  694. package/dist/server/modules/remotes/host/host-opencode-credentials.v2.js +46 -0
  695. package/dist/server/modules/remotes/host/host-opencode-credentials.v2.js.map +1 -0
  696. package/dist/server/modules/remotes/host/host-provider-auth.controller.d.ts +4 -2
  697. package/dist/server/modules/remotes/host/host-provider-auth.controller.js +3 -29
  698. package/dist/server/modules/remotes/host/host-provider-auth.controller.js.map +1 -1
  699. package/dist/server/modules/remotes/host/host-provider-auth.dto.d.ts +67 -0
  700. package/dist/server/modules/remotes/host/host-provider-auth.dto.js +32 -0
  701. package/dist/server/modules/remotes/host/host-provider-auth.dto.js.map +1 -0
  702. package/dist/server/modules/remotes/host/host-provider-auth.service.d.ts +12 -10
  703. package/dist/server/modules/remotes/host/host-provider-auth.service.js +92 -14
  704. package/dist/server/modules/remotes/host/host-provider-auth.service.js.map +1 -1
  705. package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.d.ts +5 -37
  706. package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.js +5 -5
  707. package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.js.map +1 -1
  708. package/dist/server/modules/remotes/host/host-provider-usage-revision.d.ts +2 -0
  709. package/dist/server/modules/remotes/host/host-provider-usage-revision.js +11 -0
  710. package/dist/server/modules/remotes/host/host-provider-usage-revision.js.map +1 -0
  711. package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.d.ts +11 -0
  712. package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.js +62 -0
  713. package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.js.map +1 -0
  714. package/dist/server/modules/remotes/host/host-provider-usage-settings.service.d.ts +9 -0
  715. package/dist/server/modules/remotes/host/host-provider-usage-settings.service.js +35 -0
  716. package/dist/server/modules/remotes/host/host-provider-usage-settings.service.js.map +1 -0
  717. package/dist/server/modules/remotes/host/host-shared-vm.controller.d.ts +24 -0
  718. package/dist/server/modules/remotes/host/host-shared-vm.controller.js +183 -0
  719. package/dist/server/modules/remotes/host/host-shared-vm.controller.js.map +1 -0
  720. package/dist/server/modules/remotes/host/host-shared-vm.service.d.ts +28 -0
  721. package/dist/server/modules/remotes/host/host-shared-vm.service.js +159 -0
  722. package/dist/server/modules/remotes/host/host-shared-vm.service.js.map +1 -0
  723. package/dist/server/modules/remotes/host/host-shared-vm.store.d.ts +18 -0
  724. package/dist/server/modules/remotes/host/host-shared-vm.store.js +105 -0
  725. package/dist/server/modules/remotes/host/host-shared-vm.store.js.map +1 -0
  726. package/dist/server/modules/remotes/host/host-skill-settings.controller.d.ts +5 -9
  727. package/dist/server/modules/remotes/host/host-skill-settings.controller.js +2 -1
  728. package/dist/server/modules/remotes/host/host-skill-settings.controller.js.map +1 -1
  729. package/dist/server/modules/remotes/host/host-skill-settings.service.d.ts +2 -2
  730. package/dist/server/modules/remotes/host/host-skill-settings.service.js.map +1 -1
  731. package/dist/server/modules/remotes/host/host-ssh-keys.controller.js +2 -4
  732. package/dist/server/modules/remotes/host/host-ssh-keys.controller.js.map +1 -1
  733. package/dist/server/modules/remotes/host/host-ssh-keys.dto.d.ts +8 -0
  734. package/dist/server/modules/remotes/host/host-ssh-keys.dto.js +7 -0
  735. package/dist/server/modules/remotes/host/host-ssh-keys.dto.js.map +1 -0
  736. package/dist/server/modules/remotes/host/host-transcripts.controller.d.ts +3 -2
  737. package/dist/server/modules/remotes/host/host-transcripts.controller.js +2 -1
  738. package/dist/server/modules/remotes/host/host-transcripts.controller.js.map +1 -1
  739. package/dist/server/modules/remotes/host/host-update.controller.d.ts +6 -11
  740. package/dist/server/modules/remotes/host/host-update.controller.js +7 -44
  741. package/dist/server/modules/remotes/host/host-update.controller.js.map +1 -1
  742. package/dist/server/modules/remotes/host/host.controller.d.ts +10 -14
  743. package/dist/server/modules/remotes/host/host.controller.js.map +1 -1
  744. package/dist/server/modules/remotes/host/host.service.d.ts +3 -1
  745. package/dist/server/modules/remotes/host/host.service.js +9 -2
  746. package/dist/server/modules/remotes/host/host.service.js.map +1 -1
  747. package/dist/server/modules/remotes/host/project-freeze.service.d.ts +4 -5
  748. package/dist/server/modules/remotes/host/project-freeze.service.js +14 -20
  749. package/dist/server/modules/remotes/host/project-freeze.service.js.map +1 -1
  750. package/dist/server/modules/remotes/host/provider-baseline.service.js +1 -1
  751. package/dist/server/modules/remotes/host/provider-baseline.service.js.map +1 -1
  752. package/dist/server/modules/remotes/host/shared-vm.contract.d.ts +184 -0
  753. package/dist/server/modules/remotes/host/shared-vm.contract.js +44 -0
  754. package/dist/server/modules/remotes/host/shared-vm.contract.js.map +1 -0
  755. package/dist/server/modules/remotes/host-install/host-install-block.d.ts +2 -0
  756. package/dist/server/modules/remotes/host-install/host-install-block.js +3 -2
  757. package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -1
  758. package/dist/server/modules/remotes/host-install/host-install.service.d.ts +2 -0
  759. package/dist/server/modules/remotes/host-install/host-install.service.js +10 -0
  760. package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -1
  761. package/dist/server/modules/remotes/host-install/host-join-block.d.ts +16 -0
  762. package/dist/server/modules/remotes/host-install/host-join-block.js +122 -0
  763. package/dist/server/modules/remotes/host-install/host-join-block.js.map +1 -0
  764. package/dist/server/modules/remotes/host-install/ssh-runner.d.ts +1 -0
  765. package/dist/server/modules/remotes/host-install/ssh-runner.js +2 -2
  766. package/dist/server/modules/remotes/host-install/ssh-runner.js.map +1 -1
  767. package/dist/server/modules/remotes/operations/attach.operation.d.ts +9 -2
  768. package/dist/server/modules/remotes/operations/attach.operation.js +38 -11
  769. package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -1
  770. package/dist/server/modules/remotes/operations/claim.operation.d.ts +4 -0
  771. package/dist/server/modules/remotes/operations/claim.operation.js +15 -0
  772. package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -1
  773. package/dist/server/modules/remotes/operations/claude-user-instructions.d.ts +2 -0
  774. package/dist/server/modules/remotes/operations/claude-user-instructions.js +23 -0
  775. package/dist/server/modules/remotes/operations/claude-user-instructions.js.map +1 -0
  776. package/dist/server/modules/remotes/operations/destroy-vm.operation.d.ts +4 -2
  777. package/dist/server/modules/remotes/operations/destroy-vm.operation.js +43 -23
  778. package/dist/server/modules/remotes/operations/destroy-vm.operation.js.map +1 -1
  779. package/dist/server/modules/remotes/operations/detach.operation.d.ts +17 -2
  780. package/dist/server/modules/remotes/operations/detach.operation.js +118 -31
  781. package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -1
  782. package/dist/server/modules/remotes/operations/disconnect-all.operation.d.ts +50 -0
  783. package/dist/server/modules/remotes/operations/disconnect-all.operation.js +222 -0
  784. package/dist/server/modules/remotes/operations/disconnect-all.operation.js.map +1 -0
  785. package/dist/server/modules/remotes/operations/docker-import-inventory.store.d.ts +732 -5
  786. package/dist/server/modules/remotes/operations/docker-import-inventory.store.js +41 -5
  787. package/dist/server/modules/remotes/operations/docker-import-inventory.store.js.map +1 -1
  788. package/dist/server/modules/remotes/operations/file-sync-handoff.d.ts +3 -1
  789. package/dist/server/modules/remotes/operations/file-sync-handoff.js +69 -68
  790. package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -1
  791. package/dist/server/modules/remotes/operations/git-owner.dto.d.ts +10 -44
  792. package/dist/server/modules/remotes/operations/git-owner.dto.js +1 -12
  793. package/dist/server/modules/remotes/operations/git-owner.dto.js.map +1 -1
  794. package/dist/server/modules/remotes/operations/guarded-vm-destroy.d.ts +2 -0
  795. package/dist/server/modules/remotes/operations/guarded-vm-destroy.js +14 -0
  796. package/dist/server/modules/remotes/operations/guarded-vm-destroy.js.map +1 -1
  797. package/dist/server/modules/remotes/operations/install-host.operation.d.ts +21 -1
  798. package/dist/server/modules/remotes/operations/install-host.operation.js +285 -27
  799. package/dist/server/modules/remotes/operations/install-host.operation.js.map +1 -1
  800. package/dist/server/modules/remotes/operations/remote-host.client.d.ts +71 -540
  801. package/dist/server/modules/remotes/operations/remote-host.client.js +263 -509
  802. package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
  803. package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +180 -12
  804. package/dist/server/modules/remotes/operations/remote-operation.dto.js +12 -1
  805. package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -1
  806. package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +6 -2
  807. package/dist/server/modules/remotes/operations/remote-operation.runner.js +75 -15
  808. package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -1
  809. package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +6 -3
  810. package/dist/server/modules/remotes/operations/remote-operation.types.js +10 -1
  811. package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -1
  812. package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +2 -3
  813. package/dist/server/modules/remotes/operations/remote-operations.controller.js +20 -25
  814. package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -1
  815. package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +12 -10
  816. package/dist/server/modules/remotes/operations/remote-operations.service.js +123 -118
  817. package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -1
  818. package/dist/server/modules/remotes/operations/remote-worktree-guard.d.ts +16 -0
  819. package/dist/server/modules/remotes/operations/remote-worktree-guard.js +100 -0
  820. package/dist/server/modules/remotes/operations/remote-worktree-guard.js.map +1 -0
  821. package/dist/server/modules/remotes/operations/reset-vm.operation.d.ts +15 -2
  822. package/dist/server/modules/remotes/operations/reset-vm.operation.js +115 -15
  823. package/dist/server/modules/remotes/operations/reset-vm.operation.js.map +1 -1
  824. package/dist/server/modules/remotes/operations/update-host.operation.d.ts +2 -0
  825. package/dist/server/modules/remotes/operations/update-host.operation.js +11 -5
  826. package/dist/server/modules/remotes/operations/update-host.operation.js.map +1 -1
  827. package/dist/server/modules/remotes/operations/update-logins.operation.d.ts +1 -1
  828. package/dist/server/modules/remotes/operations/vm-operations.controller.d.ts +5 -1
  829. package/dist/server/modules/remotes/operations/vm-operations.controller.js +36 -2
  830. package/dist/server/modules/remotes/operations/vm-operations.controller.js.map +1 -1
  831. package/dist/server/modules/remotes/operations/vm-operations.dto.d.ts +157 -7
  832. package/dist/server/modules/remotes/operations/vm-operations.dto.js +9 -1
  833. package/dist/server/modules/remotes/operations/vm-operations.dto.js.map +1 -1
  834. package/dist/server/modules/remotes/operations/vm-operations.service.d.ts +3 -1
  835. package/dist/server/modules/remotes/operations/vm-operations.service.js +38 -15
  836. package/dist/server/modules/remotes/operations/vm-operations.service.js.map +1 -1
  837. package/dist/server/modules/remotes/ports/remote-health.port.d.ts +2 -0
  838. package/dist/server/modules/remotes/ports/remote-health.port.js.map +1 -1
  839. package/dist/server/modules/remotes/remotes.module.js +59 -4
  840. package/dist/server/modules/remotes/remotes.module.js.map +1 -1
  841. package/dist/server/modules/remotes/services/home-shared-vm-notices.service.d.ts +18 -0
  842. package/dist/server/modules/remotes/services/home-shared-vm-notices.service.js +81 -0
  843. package/dist/server/modules/remotes/services/home-shared-vm-notices.service.js.map +1 -0
  844. package/dist/server/modules/remotes/services/remote-forced-detach.service.d.ts +11 -0
  845. package/dist/server/modules/remotes/services/remote-forced-detach.service.js +69 -0
  846. package/dist/server/modules/remotes/services/remote-forced-detach.service.js.map +1 -0
  847. package/dist/server/modules/remotes/services/remote-forced-detach.store.d.ts +23 -0
  848. package/dist/server/modules/remotes/services/remote-forced-detach.store.js +73 -0
  849. package/dist/server/modules/remotes/services/remote-forced-detach.store.js.map +1 -0
  850. package/dist/server/modules/remotes/services/remote-health.service.d.ts +7 -1
  851. package/dist/server/modules/remotes/services/remote-health.service.js +41 -4
  852. package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -1
  853. package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.d.ts +13 -0
  854. package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.js +57 -0
  855. package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.js.map +1 -0
  856. package/dist/server/modules/remotes/services/remote-shared-vm.service.d.ts +37 -0
  857. package/dist/server/modules/remotes/services/remote-shared-vm.service.js +184 -0
  858. package/dist/server/modules/remotes/services/remote-shared-vm.service.js.map +1 -0
  859. package/dist/server/modules/remotes/services/remote-shared-vm.store.d.ts +11 -0
  860. package/dist/server/modules/remotes/services/remote-shared-vm.store.js +75 -0
  861. package/dist/server/modules/remotes/services/remote-shared-vm.store.js.map +1 -0
  862. package/dist/server/modules/remotes/services/remote-skill-settings.service.d.ts +2 -2
  863. package/dist/server/modules/remotes/services/remote-skill-settings.service.js.map +1 -1
  864. package/dist/server/modules/remotes/sync/file-sync-failures.service.js +0 -2
  865. package/dist/server/modules/remotes/sync/file-sync-failures.service.js.map +1 -1
  866. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.d.ts +4 -2
  867. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js +38 -4
  868. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js.map +1 -1
  869. package/dist/server/modules/remotes/sync/project-file-sync.controller.d.ts +0 -2
  870. package/dist/server/modules/remotes/sync/project-file-sync.controller.js +1 -15
  871. package/dist/server/modules/remotes/sync/project-file-sync.controller.js.map +1 -1
  872. package/dist/server/modules/remotes/sync/remote-file-sync.dto.d.ts +0 -2
  873. package/dist/server/modules/remotes/sync/remote-file-sync.dto.js.map +1 -1
  874. package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +10 -7
  875. package/dist/server/modules/remotes/sync/remote-file-sync.service.js +157 -162
  876. package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -1
  877. package/dist/server/modules/remotes/time/project-time-settler.dto.d.ts +21 -0
  878. package/dist/server/modules/remotes/time/project-time-settler.dto.js +12 -0
  879. package/dist/server/modules/remotes/time/project-time-settler.dto.js.map +1 -0
  880. package/dist/server/modules/remotes/time/project-time-settler.service.d.ts +2 -21
  881. package/dist/server/modules/remotes/time/project-time-settler.service.js +1 -9
  882. package/dist/server/modules/remotes/time/project-time-settler.service.js.map +1 -1
  883. package/dist/server/modules/remotes/transcripts/transcript-transfer.dto.d.ts +4 -4
  884. package/dist/server/modules/remotes/transport/host-transport.d.ts +29 -0
  885. package/dist/server/modules/remotes/transport/host-transport.js +112 -0
  886. package/dist/server/modules/remotes/transport/host-transport.js.map +1 -0
  887. package/dist/server/modules/remotes/vm-user-identity.d.ts +1 -0
  888. package/dist/server/modules/remotes/vm-user-identity.js +8 -1
  889. package/dist/server/modules/remotes/vm-user-identity.js.map +1 -1
  890. package/dist/server/modules/reviews/dtos/review.dto.d.ts +2 -2
  891. package/dist/server/modules/reviews/reviews.module.js +1 -9
  892. package/dist/server/modules/reviews/reviews.module.js.map +1 -1
  893. package/dist/server/modules/reviews/services/review-suggestion-applier.service.d.ts +4 -4
  894. package/dist/server/modules/reviews/services/review-suggestion-applier.service.js +6 -6
  895. package/dist/server/modules/reviews/services/review-suggestion-applier.service.js.map +1 -1
  896. package/dist/server/modules/reviews/services/reviews.service.d.ts +4 -4
  897. package/dist/server/modules/reviews/services/reviews.service.js +7 -12
  898. package/dist/server/modules/reviews/services/reviews.service.js.map +1 -1
  899. package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js +2 -2
  900. package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js.map +1 -1
  901. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.d.ts +11 -12
  902. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js +37 -25
  903. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js.map +1 -1
  904. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.d.ts +15 -9
  905. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +68 -6
  906. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
  907. package/dist/server/modules/runtime-context-capture/index.d.ts +3 -2
  908. package/dist/server/modules/runtime-context-capture/index.js.map +1 -1
  909. package/dist/server/modules/runtime-context-capture/provider-artifacts.types.d.ts +41 -0
  910. package/dist/server/modules/runtime-context-capture/provider-artifacts.types.js +3 -0
  911. package/dist/server/modules/runtime-context-capture/provider-artifacts.types.js.map +1 -0
  912. package/dist/server/modules/scheduled-epics/scheduled-epics.module.js +1 -2
  913. package/dist/server/modules/scheduled-epics/scheduled-epics.module.js.map +1 -1
  914. package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.d.ts +4 -4
  915. package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.js +6 -6
  916. package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.js.map +1 -1
  917. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.d.ts +2 -3
  918. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js +9 -12
  919. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js.map +1 -1
  920. package/dist/server/modules/seeders/services/data-seeder.service.d.ts +2 -3
  921. package/dist/server/modules/seeders/services/data-seeder.service.js.map +1 -1
  922. package/dist/server/modules/seeders/types/seeder.types.d.ts +2 -2
  923. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.d.ts +6 -4
  924. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js +17 -20
  925. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js.map +1 -1
  926. package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.d.ts +61 -0
  927. package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.js +250 -0
  928. package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.js.map +1 -0
  929. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.d.ts +1 -1
  930. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +4 -2
  931. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +3 -0
  932. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -1
  933. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +5 -2
  934. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +4 -0
  935. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -1
  936. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.d.ts +4 -2
  937. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js +34 -13
  938. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js.map +1 -1
  939. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +3 -0
  940. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -1
  941. package/dist/server/modules/session-reader/data/pricing.json +3214 -2807
  942. package/dist/server/modules/session-reader/readers/opencode-sqlite.db.d.ts +73 -0
  943. package/dist/server/modules/session-reader/readers/opencode-sqlite.db.js +176 -0
  944. package/dist/server/modules/session-reader/readers/opencode-sqlite.db.js.map +1 -0
  945. package/dist/server/modules/session-reader/readers/opencode-sqlite.v1.reader.d.ts +45 -0
  946. package/dist/server/modules/session-reader/readers/{opencode-sqlite.reader.js → opencode-sqlite.v1.reader.js} +171 -164
  947. package/dist/server/modules/session-reader/readers/opencode-sqlite.v1.reader.js.map +1 -0
  948. package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.d.ts +15 -0
  949. package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.js +474 -0
  950. package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.js.map +1 -0
  951. package/dist/server/modules/session-reader/services/pricing.interface.d.ts +1 -0
  952. package/dist/server/modules/session-reader/services/pricing.interface.js.map +1 -1
  953. package/dist/server/modules/session-reader/services/pricing.service.d.ts +1 -0
  954. package/dist/server/modules/session-reader/services/pricing.service.js +3 -0
  955. package/dist/server/modules/session-reader/services/pricing.service.js.map +1 -1
  956. package/dist/server/modules/session-reader/services/session-reader.service.js +6 -1
  957. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  958. package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +8 -18
  959. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +89 -172
  960. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -1
  961. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +12 -12
  962. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  963. package/dist/server/modules/session-reader/session-reader.module.js +2 -0
  964. package/dist/server/modules/session-reader/session-reader.module.js.map +1 -1
  965. package/dist/server/modules/session-terminal-runtime/dtos/active-session-info.dto.js.map +1 -0
  966. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js +2 -1
  967. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js.map +1 -1
  968. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.d.ts +8 -4
  969. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js +47 -18
  970. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js.map +1 -1
  971. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +3 -5
  972. package/dist/server/modules/sessions/controllers/sessions.controller.js +8 -11
  973. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  974. package/dist/server/modules/sessions/services/active-session-lookup.service.d.ts +4 -5
  975. package/dist/server/modules/sessions/services/active-session-lookup.service.js +9 -66
  976. package/dist/server/modules/sessions/services/active-session-lookup.service.js.map +1 -1
  977. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +3 -0
  978. package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
  979. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  980. package/dist/server/modules/sessions/services/message-pool.types.d.ts +7 -1
  981. package/dist/server/modules/sessions/services/message-pool.types.js +6 -1
  982. package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -1
  983. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +4 -2
  984. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +20 -3
  985. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
  986. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +7 -5
  987. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +81 -96
  988. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -1
  989. package/dist/server/modules/sessions/services/session-launcher-facade.service.d.ts +1 -1
  990. package/dist/server/modules/sessions/services/session-launcher-facade.service.js +1 -1
  991. package/dist/server/modules/sessions/services/session-launcher-facade.service.js.map +1 -1
  992. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +10 -5
  993. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +12 -12
  994. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -1
  995. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +4 -0
  996. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +10 -2
  997. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  998. package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.d.ts +1 -1
  999. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +7 -7
  1000. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +30 -29
  1001. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  1002. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +4 -2
  1003. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +8 -9
  1004. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  1005. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.d.ts +3 -3
  1006. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js +7 -7
  1007. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js.map +1 -1
  1008. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +5 -7
  1009. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +141 -211
  1010. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  1011. package/dist/server/modules/sessions/services/sessions.service.d.ts +8 -10
  1012. package/dist/server/modules/sessions/services/sessions.service.js +26 -158
  1013. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  1014. package/dist/server/modules/sessions/sessions-lifecycle.module.js +2 -2
  1015. package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -1
  1016. package/dist/server/modules/sessions/sessions-read.module.js +2 -2
  1017. package/dist/server/modules/sessions/sessions-read.module.js.map +1 -1
  1018. package/dist/server/modules/sessions/sessions.module.js +12 -5
  1019. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  1020. package/dist/server/modules/settings/controllers/settings.controller.d.ts +3 -4
  1021. package/dist/server/modules/settings/controllers/settings.controller.js +6 -31
  1022. package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -1
  1023. package/dist/server/modules/settings/dtos/settings.dto.d.ts +45 -12
  1024. package/dist/server/modules/settings/dtos/settings.dto.js +2 -0
  1025. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  1026. package/dist/server/modules/settings/local/delegates/core-settings.delegate.d.ts +8 -0
  1027. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +71 -2
  1028. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
  1029. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.d.ts +4 -0
  1030. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.js +30 -23
  1031. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.js.map +1 -1
  1032. package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js +6 -1
  1033. package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js.map +1 -1
  1034. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.d.ts +2 -0
  1035. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.js +2 -0
  1036. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.js.map +1 -1
  1037. package/dist/server/modules/settings/services/settings.service.d.ts +4 -2
  1038. package/dist/server/modules/settings/services/settings.service.js +11 -4
  1039. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  1040. package/dist/server/modules/settings/settings.module.js +1 -2
  1041. package/dist/server/modules/settings/settings.module.js.map +1 -1
  1042. package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +2 -2
  1043. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
  1044. package/dist/server/modules/skills/services/skills.service.d.ts +3 -1
  1045. package/dist/server/modules/skills/services/skills.service.js +15 -2
  1046. package/dist/server/modules/skills/services/skills.service.js.map +1 -1
  1047. package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +3 -3
  1048. package/dist/server/modules/statuses/controllers/statuses.controller.js +8 -10
  1049. package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -1
  1050. package/dist/server/modules/statuses/statuses.module.js +1 -2
  1051. package/dist/server/modules/statuses/statuses.module.js.map +1 -1
  1052. package/dist/server/modules/storage/db/db-file-permissions.d.ts +1 -0
  1053. package/dist/server/modules/storage/db/db-file-permissions.js +24 -0
  1054. package/dist/server/modules/storage/db/db-file-permissions.js.map +1 -0
  1055. package/dist/server/modules/storage/db/db.provider.js +2 -0
  1056. package/dist/server/modules/storage/db/db.provider.js.map +1 -1
  1057. package/dist/server/modules/storage/db/migrate.js +2 -0
  1058. package/dist/server/modules/storage/db/migrate.js.map +1 -1
  1059. package/dist/server/modules/storage/db/schema.d.ts +235 -0
  1060. package/dist/server/modules/storage/db/schema.js +22 -1
  1061. package/dist/server/modules/storage/db/schema.js.map +1 -1
  1062. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +10 -3
  1063. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  1064. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.d.ts +2 -2
  1065. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js.map +1 -1
  1066. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +2 -2
  1067. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -1
  1068. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +5 -6
  1069. package/dist/server/modules/storage/local/delegates/epic.delegate.js +3 -9
  1070. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  1071. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.d.ts +16 -15
  1072. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js +13 -13
  1073. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js.map +1 -1
  1074. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.d.ts +11 -10
  1075. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js +9 -9
  1076. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js.map +1 -1
  1077. package/dist/server/modules/storage/local/delegates/guest.delegate.d.ts +2 -1
  1078. package/dist/server/modules/storage/local/delegates/guest.delegate.js.map +1 -1
  1079. package/dist/server/modules/storage/local/delegates/integration.delegate.d.ts +3 -4
  1080. package/dist/server/modules/storage/local/delegates/integration.delegate.js +1 -1
  1081. package/dist/server/modules/storage/local/delegates/integration.delegate.js.map +1 -1
  1082. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.d.ts +3 -16
  1083. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js.map +1 -1
  1084. package/dist/server/modules/storage/local/delegates/project-host.delegate.d.ts +2 -2
  1085. package/dist/server/modules/storage/local/delegates/project-host.delegate.js.map +1 -1
  1086. package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.d.ts +2 -2
  1087. package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.js +1 -1
  1088. package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.js.map +1 -1
  1089. package/dist/server/modules/storage/local/delegates/project-replica.delegate.d.ts +2 -2
  1090. package/dist/server/modules/storage/local/delegates/project-replica.delegate.js +7 -0
  1091. package/dist/server/modules/storage/local/delegates/project-replica.delegate.js.map +1 -1
  1092. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.d.ts +2 -1
  1093. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js.map +1 -1
  1094. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +4 -2
  1095. package/dist/server/modules/storage/local/delegates/project.delegate.js +4 -0
  1096. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  1097. package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +3 -2
  1098. package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -1
  1099. package/dist/server/modules/storage/local/delegates/provider-auth.delegate.d.ts +2 -1
  1100. package/dist/server/modules/storage/local/delegates/provider-auth.delegate.js.map +1 -1
  1101. package/dist/server/modules/storage/local/delegates/provider-effort.delegate.d.ts +2 -1
  1102. package/dist/server/modules/storage/local/delegates/provider-effort.delegate.js.map +1 -1
  1103. package/dist/server/modules/storage/local/delegates/provider-model.delegate.d.ts +2 -1
  1104. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js.map +1 -1
  1105. package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.d.ts +2 -1
  1106. package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.js.map +1 -1
  1107. package/dist/server/modules/storage/local/delegates/provider.delegate.d.ts +3 -3
  1108. package/dist/server/modules/storage/local/delegates/provider.delegate.js +9 -23
  1109. package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -1
  1110. package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +2 -2
  1111. package/dist/server/modules/storage/local/delegates/remote.delegate.d.ts +2 -2
  1112. package/dist/server/modules/storage/local/delegates/remote.delegate.js.map +1 -1
  1113. package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +2 -2
  1114. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
  1115. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.d.ts +2 -2
  1116. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js.map +1 -1
  1117. package/dist/server/modules/storage/local/delegates/session.delegate.d.ts +2 -1
  1118. package/dist/server/modules/storage/local/delegates/session.delegate.js.map +1 -1
  1119. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +7 -3
  1120. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +24 -11
  1121. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
  1122. package/dist/server/modules/storage/local/delegates/status.delegate.d.ts +2 -2
  1123. package/dist/server/modules/storage/local/delegates/subscriber.delegate.d.ts +2 -1
  1124. package/dist/server/modules/storage/local/delegates/subscriber.delegate.js.map +1 -1
  1125. package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +2 -2
  1126. package/dist/server/modules/storage/local/delegates/watcher.delegate.d.ts +2 -1
  1127. package/dist/server/modules/storage/local/delegates/watcher.delegate.js.map +1 -1
  1128. package/dist/server/modules/storage/local/delegates/worktree.delegate.d.ts +14 -0
  1129. package/dist/server/modules/storage/local/delegates/worktree.delegate.js +89 -0
  1130. package/dist/server/modules/storage/local/delegates/worktree.delegate.js.map +1 -0
  1131. package/dist/server/modules/storage/local/helpers/device-revocation-history.js.map +1 -0
  1132. package/dist/server/modules/storage/local/helpers/host-abandoned-projects.d.ts +5 -0
  1133. package/dist/server/modules/storage/local/helpers/host-abandoned-projects.js +39 -0
  1134. package/dist/server/modules/storage/local/helpers/host-abandoned-projects.js.map +1 -0
  1135. package/dist/server/modules/storage/local/local-storage.service.d.ts +6 -361
  1136. package/dist/server/modules/storage/local/local-storage.service.js +121 -908
  1137. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  1138. package/dist/server/modules/storage/local/storage-routes.d.ts +1196 -0
  1139. package/dist/server/modules/storage/local/storage-routes.js +474 -0
  1140. package/dist/server/modules/storage/local/storage-routes.js.map +1 -0
  1141. package/dist/server/modules/storage/models/domain.models.d.ts +20 -1
  1142. package/dist/server/modules/storage/models/domain.models.js +1 -0
  1143. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  1144. package/dist/server/modules/storage/sessions/session-row.store.d.ts +42 -0
  1145. package/dist/server/modules/storage/sessions/session-row.store.js +383 -0
  1146. package/dist/server/modules/storage/sessions/session-row.store.js.map +1 -0
  1147. package/dist/server/modules/storage/sessions/session-rows.module.d.ts +2 -0
  1148. package/dist/server/modules/storage/sessions/session-rows.module.js +19 -0
  1149. package/dist/server/modules/storage/sessions/session-rows.module.js.map +1 -0
  1150. package/dist/server/modules/storage/sessions/session-transcript.types.d.ts +45 -0
  1151. package/dist/server/modules/storage/sessions/session-transcript.types.js +3 -0
  1152. package/dist/server/modules/storage/sessions/session-transcript.types.js.map +1 -0
  1153. package/dist/server/modules/storage/storage.module.d.ts +3 -0
  1154. package/dist/server/modules/storage/storage.module.js +15 -2
  1155. package/dist/server/modules/storage/storage.module.js.map +1 -1
  1156. package/dist/server/modules/storage/write-gate/project-write-gate.d.ts +32 -0
  1157. package/dist/server/modules/storage/write-gate/project-write-gate.js +117 -0
  1158. package/dist/server/modules/storage/write-gate/project-write-gate.js.map +1 -0
  1159. package/dist/server/modules/storage/write-gate/storage-write-scope.d.ts +46 -0
  1160. package/dist/server/modules/storage/write-gate/storage-write-scope.js +104 -0
  1161. package/dist/server/modules/storage/write-gate/storage-write-scope.js.map +1 -0
  1162. package/dist/server/modules/storage/write-gate/testing/project-write-gate.stub.d.ts +3 -0
  1163. package/dist/server/modules/storage/write-gate/testing/project-write-gate.stub.js +13 -0
  1164. package/dist/server/modules/storage/write-gate/testing/project-write-gate.stub.js.map +1 -0
  1165. package/dist/server/modules/subscribers/actions/action.interface.d.ts +2 -2
  1166. package/dist/server/modules/subscribers/actions/terminate-session.action.d.ts +7 -0
  1167. package/dist/server/modules/subscribers/actions/terminate-session.action.js +58 -6
  1168. package/dist/server/modules/subscribers/actions/terminate-session.action.js.map +1 -1
  1169. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +5 -4
  1170. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +6 -6
  1171. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  1172. package/dist/server/modules/subscribers/services/subscribers.service.d.ts +1 -3
  1173. package/dist/server/modules/subscribers/services/subscribers.service.js +2 -8
  1174. package/dist/server/modules/subscribers/services/subscribers.service.js.map +1 -1
  1175. package/dist/server/modules/subscribers/subscribers.module.js +0 -2
  1176. package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
  1177. package/dist/server/modules/teams/controllers/teams.controller.d.ts +2 -2
  1178. package/dist/server/modules/teams/controllers/teams.controller.js.map +1 -1
  1179. package/dist/server/modules/teams/services/teams.service.d.ts +49 -9
  1180. package/dist/server/modules/teams/services/teams.service.js +135 -24
  1181. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  1182. package/dist/server/modules/teams/services/teams.validators.d.ts +4 -4
  1183. package/dist/server/modules/teams/services/teams.validators.js.map +1 -1
  1184. package/dist/server/modules/teams/storage/teams.store.d.ts +4 -1
  1185. package/dist/server/modules/teams/storage/teams.store.js +20 -2
  1186. package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
  1187. package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.d.ts +2 -2
  1188. package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.js +2 -2
  1189. package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.js.map +1 -1
  1190. package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js +3 -3
  1191. package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js.map +1 -1
  1192. package/dist/server/modules/teams/teams.module.js +8 -2
  1193. package/dist/server/modules/teams/teams.module.js.map +1 -1
  1194. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +8 -29
  1195. package/dist/server/modules/terminal/gateways/terminal.gateway.js +34 -88
  1196. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  1197. package/dist/server/modules/terminal/services/guest-delivery.service.js +1 -0
  1198. package/dist/server/modules/terminal/services/guest-delivery.service.js.map +1 -1
  1199. package/dist/server/modules/terminal/services/human-prompt-input.service.d.ts +30 -0
  1200. package/dist/server/modules/terminal/services/human-prompt-input.service.js +69 -0
  1201. package/dist/server/modules/terminal/services/human-prompt-input.service.js.map +1 -0
  1202. package/dist/server/modules/terminal/services/human-prompt-state.service.js +3 -2
  1203. package/dist/server/modules/terminal/services/human-prompt-state.service.js.map +1 -1
  1204. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.d.ts +6 -0
  1205. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js +23 -1
  1206. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js.map +1 -1
  1207. package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +4 -2
  1208. package/dist/server/modules/terminal/services/terminal-activity.service.js +26 -44
  1209. package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -1
  1210. package/dist/server/modules/terminal/services/terminal-delivery.types.d.ts +1 -1
  1211. package/dist/server/modules/terminal/services/terminal-io/delivery.d.ts +9 -3
  1212. package/dist/server/modules/terminal/services/terminal-io/delivery.js +65 -28
  1213. package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -1
  1214. package/dist/server/modules/terminal/services/terminal-io/foreground.d.ts +7 -0
  1215. package/dist/server/modules/terminal/services/terminal-io/foreground.js +35 -0
  1216. package/dist/server/modules/terminal/services/terminal-io/foreground.js.map +1 -0
  1217. package/dist/server/modules/terminal/services/terminal-io/monitoring.d.ts +3 -0
  1218. package/dist/server/modules/terminal/services/terminal-io/monitoring.js +36 -0
  1219. package/dist/server/modules/terminal/services/terminal-io/monitoring.js.map +1 -1
  1220. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +3 -0
  1221. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +80 -19
  1222. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
  1223. package/dist/server/modules/terminal/services/terminal-io/types.d.ts +1 -0
  1224. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.d.ts +6 -11
  1225. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js +12 -43
  1226. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js.map +1 -1
  1227. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +1 -1
  1228. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -1
  1229. package/dist/server/modules/terminal/services/terminal-seed.service.js +0 -4
  1230. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
  1231. package/dist/server/modules/terminal/terminal-delivery.module.js +3 -0
  1232. package/dist/server/modules/terminal/terminal-delivery.module.js.map +1 -1
  1233. package/dist/server/modules/terminal/terminal.module.js +2 -0
  1234. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  1235. package/dist/server/modules/vm-providers/proxmox-vm.provider.d.ts +1 -0
  1236. package/dist/server/modules/vm-providers/proxmox-vm.provider.js +17 -0
  1237. package/dist/server/modules/vm-providers/proxmox-vm.provider.js.map +1 -1
  1238. package/dist/server/modules/watchers/services/watcher-runner.service.d.ts +2 -2
  1239. package/dist/server/modules/watchers/services/watcher-runner.service.js +0 -3
  1240. package/dist/server/modules/watchers/services/watcher-runner.service.js.map +1 -1
  1241. package/dist/server/modules/watchers/services/watchers.service.d.ts +3 -3
  1242. package/dist/server/modules/watchers/services/watchers.service.js +6 -9
  1243. package/dist/server/modules/watchers/services/watchers.service.js.map +1 -1
  1244. package/dist/server/modules/watchers/watchers.module.js +1 -8
  1245. package/dist/server/modules/watchers/watchers.module.js.map +1 -1
  1246. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.d.ts +2 -2
  1247. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js.map +1 -1
  1248. package/dist/server/modules/workspaces/services/workspaces.service.d.ts +3 -3
  1249. package/dist/server/modules/workspaces/services/workspaces.service.js +7 -7
  1250. package/dist/server/modules/workspaces/services/workspaces.service.js.map +1 -1
  1251. package/dist/server/modules/workspaces/workspaces.module.js +1 -2
  1252. package/dist/server/modules/workspaces/workspaces.module.js.map +1 -1
  1253. package/dist/server/modules/worktrees/git-output.d.ts +5 -0
  1254. package/dist/server/modules/worktrees/git-output.js +53 -0
  1255. package/dist/server/modules/worktrees/git-output.js.map +1 -0
  1256. package/dist/server/modules/worktrees/host-worktrees.controller.d.ts +10 -0
  1257. package/dist/server/modules/worktrees/host-worktrees.controller.js +59 -0
  1258. package/dist/server/modules/worktrees/host-worktrees.controller.js.map +1 -0
  1259. package/dist/server/modules/worktrees/host-worktrees.dto.d.ts +40 -0
  1260. package/dist/server/modules/worktrees/host-worktrees.dto.js +9 -0
  1261. package/dist/server/modules/worktrees/host-worktrees.dto.js.map +1 -0
  1262. package/dist/server/modules/worktrees/project-git-mutex.d.ts +5 -0
  1263. package/dist/server/modules/worktrees/project-git-mutex.js +38 -0
  1264. package/dist/server/modules/worktrees/project-git-mutex.js.map +1 -0
  1265. package/dist/server/modules/worktrees/worktree-admission.service.d.ts +15 -0
  1266. package/dist/server/modules/worktrees/worktree-admission.service.js +87 -0
  1267. package/dist/server/modules/worktrees/worktree-admission.service.js.map +1 -0
  1268. package/dist/server/modules/worktrees/worktree-git-runner.d.ts +12 -0
  1269. package/dist/server/modules/worktrees/worktree-git-runner.js +57 -0
  1270. package/dist/server/modules/worktrees/worktree-git-runner.js.map +1 -0
  1271. package/dist/server/modules/worktrees/worktrees.errors.d.ts +5 -0
  1272. package/dist/server/modules/worktrees/worktrees.errors.js +11 -0
  1273. package/dist/server/modules/worktrees/worktrees.errors.js.map +1 -0
  1274. package/dist/server/modules/worktrees/worktrees.module.d.ts +2 -0
  1275. package/dist/server/modules/worktrees/worktrees.module.js +37 -0
  1276. package/dist/server/modules/worktrees/worktrees.module.js.map +1 -0
  1277. package/dist/server/modules/worktrees/worktrees.service.d.ts +50 -0
  1278. package/dist/server/modules/worktrees/worktrees.service.js +586 -0
  1279. package/dist/server/modules/worktrees/worktrees.service.js.map +1 -0
  1280. package/dist/server/modules/worktrees/worktrees.types.d.ts +58 -0
  1281. package/dist/server/modules/worktrees/worktrees.types.js +3 -0
  1282. package/dist/server/modules/worktrees/worktrees.types.js.map +1 -0
  1283. package/dist/server/templates/teams-dev.json +277 -261
  1284. package/dist/server/tsconfig.build.tsbuildinfo +1 -0
  1285. package/dist/server/ui/assets/{ExternalRichEditor-CIZPhssf.js → ExternalRichEditor-NpBNzn_X.js} +1 -1
  1286. package/dist/server/ui/assets/{ReviewDetailPage-winyLSQ7.js → ReviewDetailPage-DxVCE1zh.js} +1 -1
  1287. package/dist/server/ui/assets/{ReviewsPage-BYKBReMp.js → ReviewsPage-Bx6jkULr.js} +1 -1
  1288. package/dist/server/ui/assets/index-BZjQEWOy.css +32 -0
  1289. package/dist/server/ui/assets/index-CLPZxkZt.js +1192 -0
  1290. package/dist/server/ui/assets/{useReviewSubscription-v3Cto0y4.js → useReviewSubscription-BLuFzXjh.js} +26 -26
  1291. package/dist/server/ui/index.html +2 -2
  1292. package/dist/templates/teams-dev.json +277 -261
  1293. package/npm-shrinkwrap.json +6189 -0
  1294. package/package.json +28 -358
  1295. package/dist/server/common/test/remote-project.fixture.d.ts +0 -32
  1296. package/dist/server/common/test/remote-project.fixture.js +0 -328
  1297. package/dist/server/common/test/remote-project.fixture.js.map +0 -1
  1298. package/dist/server/common/test/two-instance.fixture.d.ts +0 -48
  1299. package/dist/server/common/test/two-instance.fixture.js +0 -269
  1300. package/dist/server/common/test/two-instance.fixture.js.map +0 -1
  1301. package/dist/server/modules/e2ee/services/device-revocation-history.js.map +0 -1
  1302. package/dist/server/modules/file-sync/host-git-index.controller.d.ts +0 -9
  1303. package/dist/server/modules/file-sync/host-git-index.controller.js +0 -67
  1304. package/dist/server/modules/file-sync/host-git-index.controller.js.map +0 -1
  1305. package/dist/server/modules/file-sync/sync-chown.dto.d.ts +0 -99
  1306. package/dist/server/modules/file-sync/sync-chown.dto.js +0 -46
  1307. package/dist/server/modules/file-sync/sync-chown.dto.js.map +0 -1
  1308. package/dist/server/modules/file-sync/sync-chown.service.d.ts +0 -12
  1309. package/dist/server/modules/file-sync/sync-chown.service.js +0 -230
  1310. package/dist/server/modules/file-sync/sync-chown.service.js.map +0 -1
  1311. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +0 -5
  1312. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +0 -8
  1313. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +0 -1
  1314. package/dist/server/modules/remotes/operations/git-owner.operation.d.ts +0 -35
  1315. package/dist/server/modules/remotes/operations/git-owner.operation.js +0 -216
  1316. package/dist/server/modules/remotes/operations/git-owner.operation.js.map +0 -1
  1317. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.d.ts +0 -73
  1318. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js.map +0 -1
  1319. package/dist/server/modules/session-reader/services/transcript-turn-state.d.ts +0 -4
  1320. package/dist/server/modules/session-reader/services/transcript-turn-state.js +0 -20
  1321. package/dist/server/modules/session-reader/services/transcript-turn-state.js.map +0 -1
  1322. package/dist/server/modules/sessions/dtos/active-session-info.dto.js.map +0 -1
  1323. package/dist/server/modules/sessions/utils/claude-config.js.map +0 -1
  1324. package/dist/server/modules/sessions/utils/codex-config.js.map +0 -1
  1325. package/dist/server/modules/sessions/utils/env-builder.js.map +0 -1
  1326. package/dist/server/modules/sessions/utils/profile-options.js.map +0 -1
  1327. package/dist/server/modules/terminal/services/session-turn-signals.js.map +0 -1
  1328. package/dist/server/tsconfig.tsbuildinfo +0 -1
  1329. package/dist/server/ui/assets/index-CiDJX6Hn.js +0 -1191
  1330. package/dist/server/ui/assets/index-f1WOAqXB.css +0 -32
  1331. /package/dist/server/modules/{terminal/services → events/signals}/session-turn-signals.d.ts +0 -0
  1332. /package/dist/server/modules/{terminal/services → events/signals}/session-turn-signals.js +0 -0
  1333. /package/dist/server/modules/{sessions → providers}/utils/claude-config.d.ts +0 -0
  1334. /package/dist/server/modules/{sessions → providers}/utils/claude-config.js +0 -0
  1335. /package/dist/server/modules/{sessions → providers}/utils/env-builder.d.ts +0 -0
  1336. /package/dist/server/modules/{sessions → providers}/utils/env-builder.js +0 -0
  1337. /package/dist/server/modules/{sessions → providers}/utils/profile-options.js +0 -0
  1338. /package/dist/server/modules/{sessions → session-terminal-runtime}/dtos/active-session-info.dto.d.ts +0 -0
  1339. /package/dist/server/modules/{sessions → session-terminal-runtime}/dtos/active-session-info.dto.js +0 -0
  1340. /package/dist/server/modules/{e2ee/services → storage/local/helpers}/device-revocation-history.d.ts +0 -0
  1341. /package/dist/server/modules/{e2ee/services → storage/local/helpers}/device-revocation-history.js +0 -0
@@ -14,91 +14,71 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.RemoteHostClient = exports.RemoteHostRequestError = void 0;
16
16
  exports.dialAddress = dialAddress;
17
- const remote_api_key_service_1 = require("../auth/remote-api-key.service");
18
- const shared_1 = require("@devchain/shared");
17
+ const common_1 = require("@nestjs/common");
19
18
  const node_stream_1 = require("node:stream");
19
+ const env_config_1 = require("../../../common/config/env.config");
20
+ const error_types_1 = require("../../../common/errors/error-types");
21
+ const logger_1 = require("../../../common/logging/logger");
22
+ const storage_interface_1 = require("../../storage/interfaces/storage.interface");
20
23
  const docker_engine_client_1 = require("../../core/controllers/docker-engine.client");
21
24
  const host_docker_dto_1 = require("../host/host-docker.dto");
22
25
  const transcript_files_service_1 = require("../transcripts/transcript-files.service");
23
26
  const transcript_transfer_dto_1 = require("../transcripts/transcript-transfer.dto");
24
- const common_1 = require("@nestjs/common");
25
- const zod_1 = require("zod");
26
- const git_owner_dto_1 = require("./git-owner.dto");
27
- const vm_user_identity_1 = require("../vm-user-identity");
28
- const shared_2 = require("@devchain/shared");
29
- const env_config_1 = require("../../../common/config/env.config");
30
- const error_types_1 = require("../../../common/errors/error-types");
31
- const storage_interface_1 = require("../../storage/interfaces/storage.interface");
32
- const project_time_settler_service_1 = require("../time/project-time-settler.service");
33
- const file_sync_dto_1 = require("../../file-sync/file-sync.dto");
34
- const file_sync_service_1 = require("../../file-sync/file-sync.service");
35
- const sync_chown_dto_1 = require("../../file-sync/sync-chown.dto");
36
- const sync_path_inspection_dto_1 = require("../../file-sync/sync-path-inspection.dto");
37
- const git_guard_dto_1 = require("../../file-sync/git-guard.dto");
38
- const docker_runtime_1 = require("../../core/controllers/docker-runtime");
39
- const host_helper_service_1 = require("../host/host-helper.service");
40
- const remote_address_1 = require("../remote-address");
27
+ const remote_api_key_service_1 = require("../auth/remote-api-key.service");
41
28
  const remote_tls_1 = require("../transport/remote-tls");
42
29
  const remote_discovery_1 = require("../transport/remote-discovery");
43
- const CONTROL_TIMEOUT_MS = 15_000;
44
- const REPLICA_TIMEOUT_MS = 120_000;
45
- const RUNTIME_TIMEOUT_MS = 5_000;
46
- const CLAIM_TIMEOUT_MS = 45 * 60_000;
47
- const VERIFY_TIMEOUT_MS = 100_000;
48
- const HostRuntimeSchema = zod_1.z
49
- .object({
50
- state: zod_1.z.string().optional(),
51
- bootId: zod_1.z.string().optional(),
52
- docker: docker_runtime_1.DockerRuntimeSchema.optional(),
53
- version: zod_1.z.string().nullable().optional(),
54
- homePath: zod_1.z.string().nullable().optional(),
55
- uid: zod_1.z.number().nullable().optional(),
56
- gid: zod_1.z.number().nullable().optional(),
57
- requestedUid: zod_1.z.number().int().optional(),
58
- requestedGid: zod_1.z.number().int().optional(),
59
- primaryGroup: zod_1.z.string().optional(),
60
- uidConflict: vm_user_identity_1.VmUidConflictSchema.optional(),
61
- imageVersion: zod_1.z.string().nullable().optional(),
62
- cliVersions: zod_1.z.record(zod_1.z.string()).nullable().optional(),
63
- })
64
- .passthrough();
65
- const HostProviderVerifySchema = zod_1.z.object({
66
- ok: zod_1.z.boolean(),
67
- summary: zod_1.z.string(),
68
- hint: zod_1.z.string().nullable(),
69
- });
70
- const HostUpdateStatusBodySchema = zod_1.z.object({
71
- status: host_helper_service_1.HostUpdateStatusSchema.omit({ at: true }).passthrough().nullable(),
72
- });
73
- const FrozenProjectSchema = zod_1.z.object({
74
- projectId: zod_1.z.string(),
75
- frozenAt: zod_1.z.string(),
76
- });
77
- const EpicIdSchema = zod_1.z.object({ epicId: zod_1.z.string().min(1) });
78
- const CreatedEpicSchema = zod_1.z.object({ id: zod_1.z.string().min(1) });
79
- class RemoteHostRequestError extends error_types_1.AppError {
80
- constructor(message, details) {
81
- super(message, 'REMOTE_HOST_REQUEST_FAILED', 502, details);
82
- }
83
- get status() {
84
- return this.details?.status ?? null;
85
- }
30
+ const host_routes_1 = require("../contract/host-routes");
31
+ const host_transport_1 = require("../transport/host-transport");
32
+ const logger = (0, logger_1.createLogger)('RemoteHostClient');
33
+ const INITIAL_GIT_FENCE = { expectedGeneration: 0, transitionId: null };
34
+ function folderFence(folderId, gitFence) {
35
+ return gitFence ?? (folderId.startsWith('git:') ? INITIAL_GIT_FENCE : undefined);
86
36
  }
87
- exports.RemoteHostRequestError = RemoteHostRequestError;
37
+ var host_transport_2 = require("../transport/host-transport");
38
+ Object.defineProperty(exports, "RemoteHostRequestError", { enumerable: true, get: function () { return host_transport_2.RemoteHostRequestError; } });
88
39
  let RemoteHostClient = class RemoteHostClient {
89
40
  storage;
90
41
  apiKeys;
91
42
  runtimeTimeoutMs;
92
- constructor(storage, apiKeys, runtimeTimeoutMs = RUNTIME_TIMEOUT_MS) {
43
+ constructor(storage, apiKeys, runtimeTimeoutMs = host_routes_1.RUNTIME_TIMEOUT_MS) {
93
44
  this.storage = storage;
94
45
  this.apiKeys = apiKeys;
95
46
  this.runtimeTimeoutMs = runtimeTimeoutMs;
96
47
  }
97
- async dockerClient(remoteId, options) {
48
+ async target(remoteId) {
98
49
  const remote = await this.storage.getRemote(remoteId);
99
- const { baseUrl, certificate } = (0, remote_tls_1.requireRemoteTls)(remote);
50
+ return {
51
+ ...(0, remote_tls_1.requireRemoteTls)(remote),
52
+ apiKey: await this.apiKeys.get(remoteId),
53
+ label: `Remote "${remote.name}"`,
54
+ remoteId,
55
+ };
56
+ }
57
+ async call(remoteId, route, params, options) {
58
+ return (0, host_transport_1.send)(await this.target(remoteId), route, params, options);
59
+ }
60
+ async sharedVmNotices(remoteId) {
61
+ return (await this.call(remoteId, host_routes_1.hostRoutes.sharedVmNotices, {})).body.notices;
62
+ }
63
+ async sharedVmDismiss(remoteId, id) {
64
+ await this.call(remoteId, host_routes_1.hostRoutes.sharedVmDismiss, {}, { body: { id } });
65
+ }
66
+ async sharedVmAbandon(remoteId, projectId) {
67
+ await this.call(remoteId, host_routes_1.hostRoutes.sharedVmAbandon, {}, { body: { projectId } });
68
+ }
69
+ async sharedVmRoster(remoteId) {
70
+ return (await this.call(remoteId, host_routes_1.hostRoutes.sharedVmRoster, {})).body;
71
+ }
72
+ async sharedVmNotify(remoteId, body) {
73
+ return (await this.call(remoteId, host_routes_1.hostRoutes.sharedVmNotify, {}, { body })).body;
74
+ }
75
+ async sharedVmFence(remoteId, body) {
76
+ return (await this.call(remoteId, host_routes_1.hostRoutes.sharedVmFence, {}, { body })).body;
77
+ }
78
+ async dockerClient(remoteId, options) {
79
+ const { baseUrl, certificate, apiKey } = await this.target(remoteId);
100
80
  return docker_engine_client_1.DockerEngineClient.forHttp(baseUrl, (0, remote_tls_1.pinnedTlsOptions)(certificate), {
101
- ...(await this.apiKeys.headers(remoteId)),
81
+ ...(0, remote_api_key_service_1.remoteAuthorization)(apiKey),
102
82
  ...(options.apiVersion ? { [host_docker_dto_1.DOCKER_API_VERSION_HEADER]: options.apiVersion } : {}),
103
83
  });
104
84
  }
@@ -109,7 +89,7 @@ let RemoteHostClient = class RemoteHostClient {
109
89
  catch (error) {
110
90
  const status = error instanceof docker_engine_client_1.DockerEngineError ? (error.status ?? null) : null;
111
91
  const reason = error instanceof docker_engine_client_1.DockerEngineError ? error.reason : undefined;
112
- throw new RemoteHostRequestError(`Docker host request failed${status ? ` (HTTP ${status})` : ''}${reason ? `: ${reason}` : ''}`, {
92
+ throw new host_transport_1.RemoteHostRequestError(`Docker host request failed${status ? ` (HTTP ${status})` : ''}${reason ? `: ${reason}` : ''}`, {
113
93
  remoteId,
114
94
  path: '/api/host/docker',
115
95
  status,
@@ -210,15 +190,10 @@ let RemoteHostClient = class RemoteHostClient {
210
190
  return this.dockerJson(remoteId, 'GET', '/api/host/docker/version', undefined, options);
211
191
  }
212
192
  async listTranscripts(remoteId, refs) {
213
- const response = await this.request(remoteId, '/api/host/transcripts/list', {
214
- method: 'POST',
215
- body: JSON.stringify({ refs }),
216
- expect: [200],
217
- });
218
- return parseBody(transcript_transfer_dto_1.TranscriptListingSchema, response, remoteId, '/api/host/transcripts/list');
193
+ return (await this.call(remoteId, host_routes_1.hostRoutes.listTranscripts, {}, { body: { refs } })).body;
219
194
  }
220
195
  async uploadTranscript(remoteId, file, files, signal) {
221
- await this.transferTranscript(remoteId, file, signal, async (send, transferSignal) => {
196
+ await this.transferTranscript(remoteId, file, signal, async (fetchTranscript, transferSignal) => {
222
197
  const { stream, size } = await files.read(file);
223
198
  try {
224
199
  (0, transcript_files_service_1.assertTranscriptSize)(size);
@@ -228,18 +203,17 @@ let RemoteHostClient = class RemoteHostClient {
228
203
  duplex: 'half',
229
204
  signal: transferSignal,
230
205
  headers: {
231
- ...(await this.apiKeys.headers(remoteId)),
232
206
  'content-type': 'application/octet-stream',
233
207
  'content-length': String(size),
234
208
  },
235
209
  };
236
- const response = await send(init);
210
+ const response = await fetchTranscript(init);
237
211
  try {
238
212
  if (response.status !== 204)
239
213
  throw new Error(`Transcript upload answered ${response.status}`);
240
214
  }
241
215
  finally {
242
- await discardBody(response);
216
+ await (0, host_transport_1.discardBody)(response);
243
217
  }
244
218
  }
245
219
  finally {
@@ -248,10 +222,9 @@ let RemoteHostClient = class RemoteHostClient {
248
222
  });
249
223
  }
250
224
  async downloadTranscript(remoteId, file, files, signal) {
251
- await this.transferTranscript(remoteId, file, signal, async (send, transferSignal) => {
252
- const response = await send({
225
+ await this.transferTranscript(remoteId, file, signal, async (fetchTranscript, transferSignal) => {
226
+ const response = await fetchTranscript({
253
227
  signal: transferSignal,
254
- headers: await this.apiKeys.headers(remoteId),
255
228
  });
256
229
  try {
257
230
  if (response.status !== 200)
@@ -270,12 +243,12 @@ let RemoteHostClient = class RemoteHostClient {
270
243
  }
271
244
  }
272
245
  finally {
273
- await discardBody(response);
246
+ await (0, host_transport_1.discardBody)(response);
274
247
  }
275
248
  });
276
249
  }
277
250
  async transferTranscript(remoteId, file, signal, transfer) {
278
- const { baseUrl, certificate } = (0, remote_tls_1.requireRemoteTls)(await this.storage.getRemote(remoteId));
251
+ const { baseUrl, certificate, apiKey } = await this.target(remoteId);
279
252
  const path = `/api/host/transcripts?${new URLSearchParams(file).toString()}`;
280
253
  const controller = new AbortController();
281
254
  const abort = () => controller.abort();
@@ -287,10 +260,16 @@ let RemoteHostClient = class RemoteHostClient {
287
260
  try {
288
261
  controller.signal.throwIfAborted();
289
262
  const url = `${baseUrl.replace(/\/+$/, '')}${path}`;
290
- await transfer((init) => (0, remote_tls_1.remoteFetch)(url, init, certificate), controller.signal);
263
+ await transfer((init) => (0, remote_tls_1.remoteFetch)(url, {
264
+ ...init,
265
+ headers: {
266
+ ...(0, remote_api_key_service_1.remoteAuthorization)(apiKey),
267
+ ...init.headers,
268
+ },
269
+ }, certificate), controller.signal);
291
270
  }
292
271
  catch (error) {
293
- throw new RemoteHostRequestError(`Transcript transfer failed: ${error instanceof Error ? error.message : String(error)}`, { remoteId, path, status: null, hostCode: null });
272
+ throw new host_transport_1.RemoteHostRequestError(`Transcript transfer failed: ${error instanceof Error ? error.message : String(error)}`, { remoteId, path, status: null, hostCode: null });
294
273
  }
295
274
  finally {
296
275
  clearTimeout(timer);
@@ -298,48 +277,33 @@ let RemoteHostClient = class RemoteHostClient {
298
277
  }
299
278
  }
300
279
  async projectExists(remoteId, projectId) {
301
- const response = await this.request(remoteId, `/api/projects/${enc(projectId)}`, {
302
- method: 'GET',
303
- expect: [200, 404],
304
- });
305
- await discardBody(response);
280
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.projectExists, { projectId });
306
281
  return response.status === 200;
307
282
  }
308
283
  async importProject(remoteId, replica) {
309
- const response = await this.request(remoteId, '/api/host/projects/import', {
310
- method: 'POST',
311
- body: JSON.stringify(replica),
312
- contentType: shared_2.PROJECT_REPLICA_CONTENT_TYPE,
313
- timeoutMs: REPLICA_TIMEOUT_MS,
314
- expect: [201, 409],
315
- });
284
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.importProject, {}, { body: replica });
316
285
  if (response.status === 409) {
317
- const code = await readErrorCode(response);
286
+ const code = response.body;
318
287
  if (code !== 'PROJECT_EXISTS') {
319
- throw new RemoteHostRequestError('Host refused the project import.', {
288
+ throw new host_transport_1.RemoteHostRequestError('Host refused the project import.', {
320
289
  remoteId,
321
- path: '/api/host/projects/import',
290
+ path: host_routes_1.hostRoutes.importProject.path({}),
322
291
  status: 409,
323
292
  hostCode: code,
324
293
  });
325
294
  }
326
295
  return { imported: false, reason: 'PROJECT_EXISTS' };
327
296
  }
328
- const result = shared_2.ProjectReplicaImportResultSchema.parse(await response.json());
329
- return { imported: true, cursor: result.cursor };
297
+ return { imported: true, cursor: response.body.cursor };
330
298
  }
331
299
  async exportReplica(remoteId, projectId, scope) {
332
- const path = `/api/host/projects/${enc(projectId)}/replica?scope=${scope}`;
333
- const response = await this.request(remoteId, path, {
334
- method: 'GET',
335
- timeoutMs: REPLICA_TIMEOUT_MS,
336
- expect: [200],
337
- });
338
- const replica = shared_2.ProjectReplicaV1Schema.parse(await response.json());
300
+ const params = { projectId, scope };
301
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.exportReplica, params);
302
+ const replica = response.body;
339
303
  if (replica.scope !== scope) {
340
- throw new RemoteHostRequestError('Host returned a replica of the wrong scope.', {
304
+ throw new host_transport_1.RemoteHostRequestError('Host returned a replica of the wrong scope.', {
341
305
  remoteId,
342
- path,
306
+ path: host_routes_1.hostRoutes.exportReplica.path(params),
343
307
  status: response.status,
344
308
  hostCode: null,
345
309
  });
@@ -347,264 +311,175 @@ let RemoteHostClient = class RemoteHostClient {
347
311
  return replica;
348
312
  }
349
313
  async changes(remoteId, projectId, options) {
350
- const query = new URLSearchParams();
351
- if (options.since)
352
- query.set('since', options.since);
353
- if (options.full)
354
- query.set('full', 'true');
355
- const queryString = query.toString();
356
- const suffix = queryString ? `?${queryString}` : '';
357
- const response = await this.request(remoteId, `/api/host/projects/${enc(projectId)}/changes${suffix}`, { method: 'GET', timeoutMs: REPLICA_TIMEOUT_MS, expect: [200] });
358
- return shared_2.ProjectReplicaChangesSchema.parse(await response.json());
314
+ return (await this.call(remoteId, host_routes_1.hostRoutes.changes, { projectId, ...options })).body;
315
+ }
316
+ async listWorktrees(remoteId, projectId) {
317
+ return (await this.call(remoteId, host_routes_1.hostRoutes.worktrees, { projectId })).body;
318
+ }
319
+ async setLaneAdmission(remoteId, projectId, frozen) {
320
+ await this.call(remoteId, host_routes_1.hostRoutes.laneAdmission, { projectId }, { body: { frozen } });
359
321
  }
360
322
  async freeze(remoteId, projectId) {
361
- const path = `/api/host/projects/${enc(projectId)}/freeze`;
362
- const response = await this.request(remoteId, path, {
363
- method: 'POST',
364
- expect: [200],
365
- });
366
- const body = await response.json().catch(() => null);
367
- const parsed = FrozenProjectSchema.safeParse(body);
368
- if (!parsed.success) {
369
- throw new RemoteHostRequestError('Host returned an invalid freeze answer.', {
370
- remoteId,
371
- path,
372
- status: response.status,
373
- hostCode: null,
374
- });
375
- }
376
- return parsed.data;
377
- }
378
- async installGitGuard(remoteId, projectId, request) {
379
- const path = `/api/host/projects/${enc(projectId)}/git-guard`;
380
- const response = await this.request(remoteId, path, {
381
- method: 'POST',
382
- body: JSON.stringify(request),
383
- expect: [200],
384
- });
385
- return parseBody(git_guard_dto_1.GitGuardInstallResultSchema, response, remoteId, path);
386
- }
387
- async removeGitGuard(remoteId, projectId, options = {}) {
388
- const path = `/api/host/projects/${enc(projectId)}/git-guard`;
389
- const response = await this.request(remoteId, path, {
390
- method: 'DELETE',
391
- ...(options.refreshIndex !== undefined && {
392
- body: JSON.stringify({ refreshIndex: options.refreshIndex }),
323
+ return (await this.call(remoteId, host_routes_1.hostRoutes.freeze, { projectId })).body;
324
+ }
325
+ async gitCoordinatorStatus(remoteId, projectId) {
326
+ return (await this.call(remoteId, host_routes_1.hostRoutes.gitCoordinatorStatus, { projectId })).body;
327
+ }
328
+ async gitCoordinatorIndex(remoteId, projectId) {
329
+ const { indexBase64 } = (await this.call(remoteId, host_routes_1.hostRoutes.gitCoordinatorIndex, { projectId })).body;
330
+ return Buffer.from(indexBase64, 'base64');
331
+ }
332
+ async homeWriteBegin(remoteId, projectId, body) {
333
+ return (await this.call(remoteId, host_routes_1.hostRoutes.homeWriteBegin, { projectId }, { body })).body;
334
+ }
335
+ async homeWriteEnd(remoteId, projectId, body) {
336
+ return (await this.call(remoteId, host_routes_1.hostRoutes.homeWriteEnd, { projectId }, { body })).body;
337
+ }
338
+ async handoverBegin(remoteId, projectId, body) {
339
+ return (await this.call(remoteId, host_routes_1.hostRoutes.handoverBegin, { projectId }, { body })).body;
340
+ }
341
+ async handoverRenew(remoteId, projectId, body) {
342
+ return (await this.call(remoteId, host_routes_1.hostRoutes.handoverRenew, { projectId }, { body })).body;
343
+ }
344
+ async handoverAbort(remoteId, projectId, body) {
345
+ return (await this.call(remoteId, host_routes_1.hostRoutes.handoverAbort, { projectId }, { body })).body;
346
+ }
347
+ async handoverPhase(remoteId, projectId, body) {
348
+ return (await this.call(remoteId, host_routes_1.hostRoutes.handoverPhase, { projectId }, { body })).body;
349
+ }
350
+ async handoverComplete(remoteId, projectId, body) {
351
+ return (await this.call(remoteId, host_routes_1.hostRoutes.handoverComplete, { projectId }, { body })).body;
352
+ }
353
+ async gitCoordinatorClose(remoteId, projectId) {
354
+ return (await this.call(remoteId, host_routes_1.hostRoutes.gitCoordinatorClose, { projectId })).body;
355
+ }
356
+ async gitCoordinatorReopen(remoteId, projectId) {
357
+ return (await this.call(remoteId, host_routes_1.hostRoutes.gitCoordinatorReopen, { projectId })).body;
358
+ }
359
+ async installGitGuard(remoteId, projectId, request, fence = INITIAL_GIT_FENCE) {
360
+ return (await this.call(remoteId, host_routes_1.hostRoutes.installGitGuard, { projectId }, { body: host_routes_1.hostRoutes.installGitGuard.body.parse({ ...request, ...fence }) })).body;
361
+ }
362
+ async removeGitGuard(remoteId, projectId, options = {}, fence = INITIAL_GIT_FENCE) {
363
+ return (await this.call(remoteId, host_routes_1.hostRoutes.removeGitGuard, { projectId }, {
364
+ body: host_routes_1.hostRoutes.removeGitGuard.body.parse({
365
+ refreshIndex: options.refreshIndex,
366
+ ...fence,
393
367
  }),
394
- ...(options.refreshIndex && { timeoutMs: REPLICA_TIMEOUT_MS }),
395
- expect: [200],
396
- });
397
- return parseBody(git_guard_dto_1.GitGuardRemoveResultSchema, response, remoteId, path);
398
- }
399
- async refreshGitIndex(remoteId, projectId, since) {
400
- const path = `/api/host/projects/${enc(projectId)}/git-index`;
401
- const response = await this.request(remoteId, path, {
402
- method: 'POST',
403
- body: JSON.stringify({ since }),
404
- timeoutMs: REPLICA_TIMEOUT_MS,
405
- expect: [200],
406
- });
407
- return parseBody(git_guard_dto_1.GitIndexResultSchema, response, remoteId, path);
368
+ ...(options.refreshIndex && { timeoutMs: host_routes_1.REPLICA_TIMEOUT_MS }),
369
+ })).body;
408
370
  }
409
371
  async thaw(remoteId, projectId) {
410
- const response = await this.request(remoteId, `/api/host/projects/${enc(projectId)}/thaw`, {
411
- method: 'POST',
412
- expect: [204],
413
- });
414
- await discardBody(response);
372
+ await this.call(remoteId, host_routes_1.hostRoutes.thaw, { projectId });
415
373
  }
416
374
  async listSessions(remoteId, projectId, options = {}) {
417
- const path = `/api/sessions${projectId ? `?${new URLSearchParams({ projectId })}` : ''}`;
418
- const response = await this.request(remoteId, path, {
419
- method: 'GET',
420
- ...(options.timeoutMs !== undefined && { timeoutMs: options.timeoutMs }),
421
- expect: [200],
422
- });
423
- return parseBody(zod_1.z.array(git_owner_dto_1.RemoteSessionSchema), response, remoteId, path);
375
+ return (await this.call(remoteId, host_routes_1.hostRoutes.listSessions, { projectId }, options)).body;
424
376
  }
425
377
  async stopSessions(remoteId, projectId) {
426
- const response = await this.request(remoteId, `/api/host/projects/${enc(projectId)}/stop-sessions`, { method: 'POST', expect: [204] });
427
- await discardBody(response);
378
+ await this.call(remoteId, host_routes_1.hostRoutes.stopSessions, { projectId });
428
379
  }
429
380
  async settleTime(remoteId, projectId) {
430
- const response = await this.request(remoteId, `/api/host/projects/${enc(projectId)}/settle-time`, {
431
- method: 'POST',
432
- timeoutMs: (0, env_config_1.getEnvConfig)().REMOTES_TIME_SETTLE_TIMEOUT_MS + CONTROL_TIMEOUT_MS,
433
- expect: [200],
434
- });
435
- return project_time_settler_service_1.ProjectTimeSettlementSchema.parse(await response.json());
381
+ return (await this.call(remoteId, host_routes_1.hostRoutes.settleTime, { projectId }, {
382
+ timeoutMs: (0, env_config_1.getEnvConfig)().REMOTES_TIME_SETTLE_TIMEOUT_MS + host_routes_1.CONTROL_TIMEOUT_MS,
383
+ })).body;
436
384
  }
437
385
  async release(remoteId, projectId) {
438
- const response = await this.request(remoteId, `/api/host/projects/${enc(projectId)}/release`, {
439
- method: 'POST',
440
- expect: [204, 404],
441
- });
442
- await discardBody(response);
386
+ await this.call(remoteId, host_routes_1.hostRoutes.release, { projectId });
443
387
  }
444
388
  async findEpicByIdempotencyKey(remoteId, projectId, key) {
445
- const path = `/api/host/projects/${enc(projectId)}/epics/by-idempotency-key/${enc(key)}`;
446
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200, 404] });
447
- if (response.status === 404) {
448
- await discardBody(response);
449
- return null;
450
- }
451
- return (await parseBody(EpicIdSchema, response, remoteId, path)).epicId;
389
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.findEpicByIdempotencyKey, {
390
+ projectId,
391
+ key,
392
+ });
393
+ return response.status === 404 ? null : response.body.epicId;
452
394
  }
453
395
  async createEpic(remoteId, epic) {
454
- const path = '/api/epics';
455
- const response = await this.request(remoteId, path, {
456
- method: 'POST',
457
- body: JSON.stringify(epic),
458
- expect: [201, 423],
459
- });
396
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.createEpic, {}, { body: epic });
460
397
  if (response.status === 423) {
461
- const hostCode = await readErrorCode(response);
462
398
  throw new error_types_1.ConflictError('The remote project is locked for a handoff; try again shortly.', {
463
399
  code: 'REMOTE_PROJECT_LOCKED',
464
400
  retryable: true,
465
401
  remoteId,
466
402
  projectId: epic.projectId,
467
- hostCode,
403
+ hostCode: response.body,
468
404
  });
469
405
  }
470
- return { id: (await parseBody(CreatedEpicSchema, response, remoteId, path)).id };
406
+ return { id: response.body.id };
471
407
  }
472
408
  async syncDevice(remoteId) {
473
- const remote = await this.storage.getRemote(remoteId);
474
- const path = '/api/host/sync/device';
475
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
476
- const device = await parseBody(file_sync_dto_1.SyncDeviceSchema, response, remoteId, path);
477
- return {
478
- deviceId: device.deviceId,
479
- address: dialAddress(device.address, (0, remote_address_1.requireRemoteAddress)(remote)),
480
- };
409
+ const target = await this.target(remoteId);
410
+ const device = (await (0, host_transport_1.send)(target, host_routes_1.hostRoutes.syncDevice, {})).body;
411
+ return { deviceId: device.deviceId, address: dialAddress(device.address, target.baseUrl) };
481
412
  }
482
413
  async syncPeer(remoteId, peer) {
483
- const response = await this.request(remoteId, '/api/host/sync/peer', {
484
- method: 'POST',
485
- body: JSON.stringify(peer),
486
- expect: [204],
487
- });
488
- await discardBody(response);
489
- }
490
- async syncFolders(remoteId, folder) {
491
- const path = '/api/host/sync/folders';
492
- const response = await this.request(remoteId, path, {
493
- method: 'POST',
494
- body: JSON.stringify(folder),
495
- expect: [200],
496
- });
497
- return parseBody(file_sync_dto_1.SyncFolderSchema, response, remoteId, path);
414
+ await this.call(remoteId, host_routes_1.hostRoutes.syncPeer, {}, { body: peer });
415
+ }
416
+ async syncFolders(remoteId, folder, gitFence) {
417
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncFolders, { gitFence: folder.kind === 'git' ? (gitFence ?? INITIAL_GIT_FENCE) : gitFence }, { body: folder })).body;
498
418
  }
499
419
  async syncForceCopyBackup(remoteId, request) {
500
- const path = '/api/host/sync/force-copy-backup';
501
- const response = await this.request(remoteId, path, {
502
- method: 'POST',
503
- body: JSON.stringify(request),
504
- expect: [200],
505
- });
506
- return parseBody(file_sync_dto_1.ForceCopyBackupSchema, response, remoteId, path);
420
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncForceCopyBackup, {}, { body: request })).body;
507
421
  }
508
- async syncFolderType(remoteId, folderId, patch) {
509
- const response = await this.request(remoteId, `/api/host/sync/folders/${enc(folderId)}`, {
510
- method: 'PATCH',
511
- body: JSON.stringify(patch),
512
- expect: [204],
513
- });
514
- await discardBody(response);
422
+ async syncFolderType(remoteId, folderId, patch, gitFence) {
423
+ await this.call(remoteId, host_routes_1.hostRoutes.syncFolderType, {
424
+ folderId,
425
+ gitFence: folderFence(folderId, gitFence),
426
+ }, { body: patch });
515
427
  }
516
428
  async syncFolderConfiguration(remoteId, folderId) {
517
- const path = `/api/host/sync/folders/${enc(folderId)}/configuration`;
518
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
519
- return parseBody(file_sync_dto_1.SyncFolderConfigurationSchema, response, remoteId, path);
520
- }
521
- async syncRemoveFolder(remoteId, folderId) {
522
- const response = await this.request(remoteId, `/api/host/sync/folders/${enc(folderId)}`, {
523
- method: 'DELETE',
524
- expect: [204],
429
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncFolderConfiguration, { folderId })).body;
430
+ }
431
+ async syncFolderIgnores(remoteId, folderId) {
432
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncFolderIgnores, { folderId })).body;
433
+ }
434
+ async syncRemoveFolder(remoteId, folderId, gitFence) {
435
+ await this.call(remoteId, host_routes_1.hostRoutes.syncRemoveFolder, {
436
+ folderId,
437
+ gitFence: folderFence(folderId, gitFence),
525
438
  });
526
- await discardBody(response);
527
439
  }
528
- async syncScan(remoteId, folderId) {
529
- const response = await this.request(remoteId, `/api/host/sync/folders/${enc(folderId)}/scan`, {
530
- method: 'POST',
531
- expect: [204],
532
- timeoutMs: file_sync_service_1.SCAN_TIMEOUT_MS + CONTROL_TIMEOUT_MS,
440
+ async syncScan(remoteId, folderId, gitFence) {
441
+ await this.call(remoteId, host_routes_1.hostRoutes.syncScan, {
442
+ folderId,
443
+ gitFence: folderFence(folderId, gitFence),
533
444
  });
534
- await discardBody(response);
535
445
  }
536
- async syncRevert(remoteId, folderId) {
537
- const response = await this.request(remoteId, `/api/host/sync/folders/${enc(folderId)}/revert`, { method: 'POST', expect: [204] });
538
- await discardBody(response);
446
+ async syncRevert(remoteId, folderId, gitFence) {
447
+ await this.call(remoteId, host_routes_1.hostRoutes.syncRevert, {
448
+ folderId,
449
+ gitFence: folderFence(folderId, gitFence),
450
+ });
539
451
  }
540
- async syncOverride(remoteId, folderId) {
541
- const response = await this.request(remoteId, `/api/host/sync/folders/${enc(folderId)}/override`, {
542
- method: 'POST',
543
- expect: [204],
452
+ async syncOverride(remoteId, folderId, gitFence) {
453
+ await this.call(remoteId, host_routes_1.hostRoutes.syncOverride, {
454
+ folderId,
455
+ gitFence: folderFence(folderId, gitFence),
544
456
  });
545
- await discardBody(response);
546
457
  }
547
458
  async syncLocalChanges(remoteId, folderId) {
548
- const path = `/api/host/sync/folders/${enc(folderId)}/local-changes`;
549
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
550
- return parseBody(file_sync_dto_1.ReceiveOnlyChangesSchema, response, remoteId, path);
459
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncLocalChanges, { folderId })).body;
551
460
  }
552
461
  async syncStatus(remoteId, folderId, deviceId, options = {}) {
553
- const query = new URLSearchParams({ folder: folderId });
554
- if (deviceId)
555
- query.set('device', deviceId);
556
- if (options.allErrors)
557
- query.set('errors', 'all');
558
- const path = `/api/host/sync/status?${query.toString()}`;
559
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
560
- return parseBody(file_sync_dto_1.FolderSyncStatusSchema, response, remoteId, path);
462
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncStatus, {
463
+ folderId,
464
+ deviceId,
465
+ allErrors: options.allErrors,
466
+ })).body;
561
467
  }
562
468
  async syncFolderExists(remoteId, folderId) {
563
- const path = `/api/host/sync/status?${new URLSearchParams({ folder: folderId })}`;
564
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200, 404] });
565
- if (response.status === 404) {
566
- await discardBody(response);
567
- return false;
568
- }
569
- await parseBody(file_sync_dto_1.FolderSyncStatusSchema, response, remoteId, path);
570
- return true;
469
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.syncFolderExists, { folderId });
470
+ return response.status === 200;
571
471
  }
572
472
  async syncRemoteNeed(remoteId, folderId, deviceId) {
573
- const path = `/api/host/sync/folders/${enc(folderId)}/remote-need?${new URLSearchParams({ device: deviceId })}`;
574
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
575
- return parseBody(file_sync_dto_1.RemoteNeedSchema, response, remoteId, path);
473
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncRemoteNeed, { folderId, deviceId })).body;
474
+ }
475
+ async syncRemoteNeedThrough(remoteId, folderId, deviceId, sequence) {
476
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncRemoteNeedThrough, { folderId, deviceId, sequence })).body.names;
576
477
  }
577
478
  async syncInspect(remoteId, input) {
578
- const path = '/api/host/sync/inspect';
579
- const response = await this.request(remoteId, path, {
580
- method: 'POST',
581
- body: JSON.stringify(input),
582
- expect: [200],
583
- timeoutMs: 60_000,
584
- });
585
- return parseBody(sync_path_inspection_dto_1.SyncPathInspectionSchema, response, remoteId, path);
586
- }
587
- async syncChown(remoteId, input) {
588
- const path = '/api/host/sync/chown';
589
- const response = await this.request(remoteId, path, {
590
- method: 'POST',
591
- body: JSON.stringify(input),
592
- expect: [200, 404],
593
- timeoutMs: 60_000,
594
- });
595
- if (response.status === 404) {
596
- await discardBody(response);
597
- return (0, sync_chown_dto_1.unsupportedChown)(null, input.items);
598
- }
599
- return parseBody(sync_chown_dto_1.SyncChownResultSchema, response, remoteId, path);
479
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncInspect, {}, { body: input })).body;
600
480
  }
601
481
  async setInstanceLabel(remoteId, label) {
602
- const response = await this.request(remoteId, '/api/cloud/instance-label', {
603
- method: 'PUT',
604
- body: JSON.stringify({ label }),
605
- expect: [200],
606
- });
607
- await discardBody(response);
482
+ await this.call(remoteId, host_routes_1.hostRoutes.setInstanceLabel, {}, { body: { label } });
608
483
  }
609
484
  async remoteRuntime(remoteId) {
610
485
  const { baseUrl, certificate } = (0, remote_tls_1.requireRemoteTls)(await this.storage.getRemote(remoteId));
@@ -614,226 +489,127 @@ let RemoteHostClient = class RemoteHostClient {
614
489
  return (0, remote_tls_1.requireRemoteCertificate)(await this.storage.getRemote(remoteId));
615
490
  }
616
491
  async runtimeAt(baseUrl, certificate) {
617
- const response = await this.fetchUrl(baseUrl, '/api/runtime', {
618
- method: 'GET',
619
- expect: [200],
492
+ return (await (0, host_transport_1.send)({ baseUrl, certificate, apiKey: null, label: baseUrl }, host_routes_1.hostRoutes.runtimeAt, {}, {
620
493
  timeoutMs: this.runtimeTimeoutMs,
621
- label: baseUrl,
622
- certificate,
623
- });
624
- return parseBody(HostRuntimeSchema, response, baseUrl, '/api/runtime');
494
+ })).body;
625
495
  }
626
496
  async discoverRuntime(origin) {
627
497
  const answer = await (0, remote_discovery_1.discoverRuntime)(origin, this.runtimeTimeoutMs);
628
- const parsed = HostRuntimeSchema.safeParse(answer.body);
498
+ const parsed = host_routes_1.HostRuntimeSchema.safeParse(answer.body);
629
499
  return {
630
500
  runtime: answer.status === 200 && parsed.success ? parsed.data : null,
631
501
  certificate: answer.certificate,
632
502
  };
633
503
  }
634
504
  async claim(bootstrapUrl, certificate, body, apiKey) {
635
- const response = await this.fetchUrl(bootstrapUrl, '/api/host/claim', {
636
- apiKey,
637
- certificate,
638
- method: 'POST',
639
- body: JSON.stringify(body),
640
- timeoutMs: CLAIM_TIMEOUT_MS,
641
- expect: [200, 409, 504],
642
- label: bootstrapUrl,
643
- });
644
- if (response.status === 200) {
645
- await discardBody(response);
505
+ const response = await (0, host_transport_1.send)({ baseUrl: bootstrapUrl, certificate, apiKey: apiKey ?? null, label: bootstrapUrl }, host_routes_1.hostRoutes.claim, {}, { body });
506
+ if (response.status === 200)
646
507
  return 'claimed';
647
- }
648
- const code = await readErrorCode(response);
508
+ const code = response.body;
649
509
  if (response.status === 504)
650
510
  return 'starting';
651
511
  if (code === 'ALREADY_CLAIMED')
652
512
  return 'already_claimed';
653
- throw new RemoteHostRequestError(`The VM refused the claim${code ? ` (${code})` : ''}.`, {
513
+ throw new host_transport_1.RemoteHostRequestError(`The VM refused the claim${code ? ` (${code})` : ''}.`, {
654
514
  remoteId: bootstrapUrl,
655
- path: '/api/host/claim',
515
+ path: host_routes_1.hostRoutes.claim.path({}),
656
516
  status: response.status,
657
517
  hostCode: code,
658
518
  });
659
519
  }
660
520
  async verifyProviderAuth(remoteId, provider, opencodeProviderIds) {
661
- const path = '/api/host/provider-auth/verify';
662
- const response = await this.request(remoteId, path, {
663
- method: 'POST',
664
- body: JSON.stringify({ provider, opencodeProviderIds }),
665
- timeoutMs: VERIFY_TIMEOUT_MS,
666
- expect: [200],
667
- });
668
- return parseBody(HostProviderVerifySchema, response, remoteId, path);
521
+ return (await this.call(remoteId, host_routes_1.hostRoutes.verifyProviderAuth, {}, { body: { provider, opencodeProviderIds } })).body;
669
522
  }
670
523
  async applyProviderAuth(remoteId, bundle) {
671
- const response = await this.request(remoteId, '/api/host/provider-auth', {
672
- method: 'POST',
673
- body: JSON.stringify(bundle),
674
- expect: [200],
675
- });
676
- await discardBody(response);
524
+ await this.call(remoteId, host_routes_1.hostRoutes.applyProviderAuth, {}, { body: bundle });
677
525
  }
678
526
  async applySshKeys(remoteId, keys) {
679
- const response = await this.request(remoteId, '/api/host/ssh-keys', {
680
- method: 'POST',
681
- body: JSON.stringify({ keys }),
682
- expect: [200],
683
- });
684
- await discardBody(response);
527
+ await this.call(remoteId, host_routes_1.hostRoutes.applySshKeys, {}, { body: { keys } });
685
528
  }
686
- async requestHostUpdate(remoteId, version) {
687
- const response = await this.request(remoteId, '/api/host/update', {
688
- method: 'POST',
689
- body: JSON.stringify({ version }),
690
- expect: [202, 409],
691
- });
692
- if (response.status === 202) {
693
- await discardBody(response);
694
- return 'started';
529
+ async requestHostUpdate(remoteId, version, npmRegistry) {
530
+ try {
531
+ return {
532
+ outcome: await this.sendHostUpdate(remoteId, { version, npmRegistry }),
533
+ registryIgnored: false,
534
+ };
695
535
  }
696
- const code = await readErrorCode(response);
536
+ catch (error) {
537
+ if (npmRegistry === undefined ||
538
+ !(error instanceof host_transport_1.RemoteHostRequestError) ||
539
+ error.status !== 400 ||
540
+ error.hostCode !== 'validation_error') {
541
+ throw error;
542
+ }
543
+ }
544
+ const outcome = await this.sendHostUpdate(remoteId, { version });
545
+ logger.warn({ remoteId, version }, 'Host ignores the npm registry of its update request');
546
+ return { outcome, registryIgnored: true };
547
+ }
548
+ async sendHostUpdate(remoteId, body) {
549
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.requestHostUpdate, {}, { body });
550
+ if (response.status === 202)
551
+ return 'started';
552
+ const code = response.body;
697
553
  if (code === 'UPDATE_IN_PROGRESS')
698
554
  return 'in_progress';
699
- throw new RemoteHostRequestError(`The host refused the update${code ? ` (${code})` : ''}.`, {
555
+ throw new host_transport_1.RemoteHostRequestError(`The host refused the update${code ? ` (${code})` : ''}.`, {
700
556
  remoteId,
701
- path: '/api/host/update',
557
+ path: host_routes_1.hostRoutes.requestHostUpdate.path({}),
702
558
  status: 409,
703
559
  hostCode: code,
704
560
  });
705
561
  }
706
562
  async hostUpdateStatus(remoteId) {
707
- const path = '/api/host/update';
708
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
709
- return (await parseBody(HostUpdateStatusBodySchema, response, remoteId, path)).status;
563
+ return (await this.call(remoteId, host_routes_1.hostRoutes.hostUpdateStatus, {})).body.status;
710
564
  }
711
565
  async requestDocker(remoteId) {
712
- const response = await this.request(remoteId, '/api/host/docker', {
713
- method: 'POST',
714
- body: '{}',
715
- expect: [202],
716
- });
717
- return parseBody(zod_1.z.object({ jobId: zod_1.z.string().nullable() }), response, remoteId, '/api/host/docker');
566
+ return (await this.call(remoteId, host_routes_1.hostRoutes.requestDocker, {}, { body: {} })).body;
718
567
  }
719
568
  async dockerStatus(remoteId) {
720
- const path = '/api/host/docker';
721
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
722
- return (await parseBody(zod_1.z.object({ status: host_helper_service_1.HostDockerStatusSchema.nullable() }), response, remoteId, path)).status;
569
+ return (await this.call(remoteId, host_routes_1.hostRoutes.dockerStatus, {})).body.status;
723
570
  }
724
- getProviderCliSettingsStatus(remoteId) {
725
- return this.hostSettingsRequest(remoteId, '/api/host/provider-clis/status', 'GET', undefined, 200, shared_1.HostProviderCliSettingsStatusSchema, 3000);
571
+ async getProviderCliSettingsStatus(remoteId) {
572
+ return (await this.call(remoteId, host_routes_1.hostRoutes.getProviderCliSettingsStatus, {})).body;
726
573
  }
727
574
  async putProviderCliSettings(remoteId, body) {
728
- await this.hostSettingsRequest(remoteId, '/api/host/provider-clis', 'PUT', JSON.stringify(body), 202, zod_1.z.object({ revision: zod_1.z.literal(body.revision) }), 3000);
575
+ const route = host_routes_1.hostRoutes.putProviderCliSettings;
576
+ const response = await this.call(remoteId, route, {}, { body });
577
+ checkSettingsRevision(remoteId, route.path({}), response, body.revision);
729
578
  }
730
579
  async checkProviderClis(remoteId) {
731
- await this.hostSettingsRequest(remoteId, '/api/host/provider-clis/check', 'POST', undefined, 202, zod_1.z.object({ accepted: zod_1.z.literal(true) }), 3000);
580
+ await this.call(remoteId, host_routes_1.hostRoutes.checkProviderClis, {});
732
581
  }
733
- getSkillSettingsStatus(remoteId) {
734
- return this.hostSettingsRequest(remoteId, '/api/host/skill-settings/status', 'GET', undefined, 200, shared_2.HostSkillSettingsStatusSchema, 3000);
582
+ async getProviderUsageSettingsStatus(remoteId) {
583
+ return (await this.call(remoteId, host_routes_1.hostRoutes.getProviderUsageSettingsStatus, {})).body;
584
+ }
585
+ async putProviderUsageSettings(remoteId, body) {
586
+ const route = host_routes_1.hostRoutes.putProviderUsageSettings;
587
+ const response = await this.call(remoteId, route, {}, { body });
588
+ checkSettingsRevision(remoteId, route.path({}), response, body.revision);
589
+ }
590
+ async getSkillSettingsStatus(remoteId) {
591
+ return (await this.call(remoteId, host_routes_1.hostRoutes.getSkillSettingsStatus, {})).body;
735
592
  }
736
593
  async putSkillSettings(remoteId, body) {
737
- await this.hostSettingsRequest(remoteId, '/api/host/skill-settings', 'PUT', JSON.stringify(body), 202, zod_1.z.object({ revision: zod_1.z.literal(body.revision) }), 3000);
594
+ const route = host_routes_1.hostRoutes.putSkillSettings;
595
+ const response = await this.call(remoteId, route, {}, { body });
596
+ checkSettingsRevision(remoteId, route.path({}), response, body.revision);
738
597
  }
739
598
  async uploadSkillSourceContent(remoteId, name, contentHash, stream, signal) {
740
- const path = `/api/host/skill-settings/local-sources/${enc(name)}/content?${new URLSearchParams({ contentHash })}`;
599
+ const params = { name, contentHash };
741
600
  try {
742
- await this.hostSettingsRequest(remoteId, path, 'PUT', stream, 200, zod_1.z.object({ name: zod_1.z.literal(name), contentHash: zod_1.z.literal(contentHash) }), 60_000, signal);
601
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.uploadSkillSourceContent, params, {
602
+ body: stream,
603
+ signal,
604
+ });
605
+ if (response.body.name !== name || response.body.contentHash !== contentHash) {
606
+ throw (0, host_transport_1.invalidHostAnswer)(remoteId, host_routes_1.hostRoutes.uploadSkillSourceContent.path(params), response.status);
607
+ }
743
608
  }
744
609
  finally {
745
610
  stream.destroy();
746
611
  }
747
612
  }
748
- async hostSettingsRequest(remoteId, path, method, body, expectedStatus, schema, timeoutMs, signal) {
749
- const { baseUrl, certificate } = (0, remote_tls_1.requireRemoteTls)(await this.storage.getRemote(remoteId));
750
- const controller = new AbortController();
751
- const abort = () => controller.abort();
752
- signal?.addEventListener('abort', abort, { once: true });
753
- if (signal?.aborted)
754
- controller.abort();
755
- const timeout = setTimeout(abort, timeoutMs);
756
- timeout.unref?.();
757
- let response;
758
- try {
759
- const init = {
760
- method,
761
- signal: controller.signal,
762
- ...(body === undefined
763
- ? {}
764
- : {
765
- body: body,
766
- headers: {
767
- 'content-type': typeof body === 'string' ? 'application/json' : 'application/x-tar',
768
- },
769
- ...(typeof body === 'string' ? {} : { duplex: 'half' }),
770
- }),
771
- };
772
- init.headers = { ...(await this.apiKeys.headers(remoteId)), ...init.headers };
773
- response = await (0, remote_tls_1.remoteFetch)(`${baseUrl.replace(/\/+$/, '')}${path}`, init, certificate);
774
- if (response.status !== expectedStatus)
775
- throw new RemoteHostRequestError('Host settings request failed', {
776
- remoteId,
777
- path,
778
- status: response.status,
779
- hostCode: null,
780
- });
781
- return await parseBody(schema, response, remoteId, path);
782
- }
783
- finally {
784
- if (response)
785
- await discardBody(response);
786
- clearTimeout(timeout);
787
- signal?.removeEventListener('abort', abort);
788
- }
789
- }
790
- async request(remoteId, path, options) {
791
- const remote = await this.storage.getRemote(remoteId);
792
- const { baseUrl, certificate } = (0, remote_tls_1.requireRemoteTls)(remote);
793
- return this.fetchUrl(baseUrl, path, {
794
- ...options,
795
- apiKey: await this.apiKeys.get(remoteId),
796
- label: `Remote "${remote.name}"`,
797
- remoteId,
798
- certificate,
799
- });
800
- }
801
- async fetchUrl(baseUrl, path, options) {
802
- const remoteId = options.remoteId ?? baseUrl;
803
- const controller = new AbortController();
804
- const timeout = setTimeout(() => controller.abort(), options.timeoutMs ?? CONTROL_TIMEOUT_MS);
805
- timeout.unref?.();
806
- let response;
807
- try {
808
- response = await (0, remote_tls_1.remoteFetch)(`${baseUrl.replace(/\/+$/, '')}${path}`, {
809
- method: options.method,
810
- headers: {
811
- ...(0, remote_api_key_service_1.remoteAuthorization)(options.apiKey),
812
- ...(options.body !== undefined
813
- ? { 'content-type': options.contentType ?? 'application/json' }
814
- : {}),
815
- },
816
- signal: controller.signal,
817
- ...(options.body !== undefined && {
818
- body: options.body,
819
- }),
820
- }, options.certificate);
821
- }
822
- catch (error) {
823
- throw new RemoteHostRequestError(`${options.label} is unreachable: ${error instanceof Error ? error.message : String(error)}`, { remoteId, path, status: null, hostCode: null });
824
- }
825
- finally {
826
- clearTimeout(timeout);
827
- }
828
- if (!options.expect.includes(response.status)) {
829
- const hostCode = await readErrorCode(response);
830
- if (path === '/api/host/docker' && hostCode === 'HOST_HELPER_OUTDATED') {
831
- throw new RemoteHostRequestError(`The host helper needs one manual migration: ${host_helper_service_1.HOST_HELPER_MIGRATION}`, { remoteId, path, status: response.status, hostCode: 'HOST_HELPER_OUTDATED' });
832
- }
833
- throw new RemoteHostRequestError(`${options.label} answered ${response.status} to ${options.method} ${path.split('?')[0]}${hostCode ? ` (${hostCode})` : ''}.`, { remoteId, path, status: response.status, hostCode });
834
- }
835
- return response;
836
- }
837
613
  };
838
614
  exports.RemoteHostClient = RemoteHostClient;
839
615
  exports.RemoteHostClient = RemoteHostClient = __decorate([
@@ -843,8 +619,10 @@ exports.RemoteHostClient = RemoteHostClient = __decorate([
843
619
  __param(2, (0, common_1.Inject)('REMOTE_HOST_RUNTIME_TIMEOUT_MS')),
844
620
  __metadata("design:paramtypes", [Object, remote_api_key_service_1.RemoteApiKeyService, Object])
845
621
  ], RemoteHostClient);
846
- async function discardBody(response) {
847
- await response.body?.cancel().catch(() => undefined);
622
+ function checkSettingsRevision(remoteId, path, response, expected) {
623
+ if (response.body.revision !== expected) {
624
+ throw (0, host_transport_1.invalidHostAnswer)(remoteId, path, response.status);
625
+ }
848
626
  }
849
627
  function parseDockerAnswer(schema, answer, remoteId, path) {
850
628
  let value = null;
@@ -858,7 +636,7 @@ function parseDockerAnswer(schema, answer, remoteId, path) {
858
636
  function checkDockerAnswer(schema, value, remoteId, path) {
859
637
  const parsed = schema.safeParse(value);
860
638
  if (!parsed.success)
861
- throw new RemoteHostRequestError('Docker host request failed', {
639
+ throw new host_transport_1.RemoteHostRequestError('Docker host request failed', {
862
640
  remoteId,
863
641
  path,
864
642
  status: null,
@@ -866,18 +644,6 @@ function checkDockerAnswer(schema, value, remoteId, path) {
866
644
  });
867
645
  return parsed.data;
868
646
  }
869
- async function parseBody(schema, response, remoteId, path) {
870
- const parsed = schema.safeParse(await response.json().catch(() => null));
871
- if (!parsed.success) {
872
- throw new RemoteHostRequestError(`Host returned an invalid answer to ${path.split('?')[0]}.`, {
873
- remoteId,
874
- path,
875
- status: response.status,
876
- hostCode: null,
877
- });
878
- }
879
- return parsed.data;
880
- }
881
647
  function dialAddress(address, baseUrl) {
882
648
  const match = /^(tcp|quic):\/\/.*:(\d+)$/.exec(address);
883
649
  if (!match)
@@ -887,16 +653,4 @@ function dialAddress(address, baseUrl) {
887
653
  function enc(value) {
888
654
  return encodeURIComponent(value);
889
655
  }
890
- async function readErrorCode(response) {
891
- try {
892
- const body = (await response.json());
893
- const detailCode = body.details?.code;
894
- if (typeof detailCode === 'string')
895
- return detailCode;
896
- return typeof body.code === 'string' ? body.code : null;
897
- }
898
- catch {
899
- return null;
900
- }
901
- }
902
656
  //# sourceMappingURL=remote-host.client.js.map