devchain-cli 0.24.1 → 0.25.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 (1063) hide show
  1. package/README.md +11 -2
  2. package/dist/build-info.json +2 -2
  3. package/dist/cli.js +40 -10
  4. package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
  5. package/dist/host-install/pins.json +32 -2
  6. package/dist/lib/exclusive-run.js +51 -3
  7. package/dist/lib/git-owner.js +284 -0
  8. package/dist/lib/host-install.js +19 -151
  9. package/dist/lib/local-api.js +175 -0
  10. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +7 -4
  11. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts.map +1 -1
  12. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js +1 -0
  13. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -1
  14. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +26 -26
  15. package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.d.ts +6 -6
  16. package/dist/node_modules/@devchain/shared/schemas/project-replica.d.ts +3855 -3855
  17. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  18. package/dist/server/common/config/env.config.d.ts +6 -0
  19. package/dist/server/common/config/env.config.js +8 -0
  20. package/dist/server/common/config/env.config.js.map +1 -1
  21. package/dist/server/common/config/host-image.json +3 -3
  22. package/dist/server/common/config/integration-admission.d.ts +1 -0
  23. package/dist/server/common/config/integration-admission.js +6 -2
  24. package/dist/server/common/config/integration-admission.js.map +1 -1
  25. package/dist/server/common/constants/syncthing-markers.d.ts +1 -0
  26. package/dist/server/common/constants/syncthing-markers.js +6 -1
  27. package/dist/server/common/constants/syncthing-markers.js.map +1 -1
  28. package/dist/server/common/filesystem/vm-home-path.d.ts +11 -0
  29. package/dist/server/common/filesystem/vm-home-path.js +48 -0
  30. package/dist/server/common/filesystem/vm-home-path.js.map +1 -0
  31. package/dist/server/common/http/browser-request-guard.d.ts +8 -0
  32. package/dist/server/common/http/browser-request-guard.js +61 -0
  33. package/dist/server/common/http/browser-request-guard.js.map +1 -0
  34. package/dist/server/common/process-ids-env.d.ts +1 -0
  35. package/dist/server/common/process-ids-env.js +13 -0
  36. package/dist/server/common/process-ids-env.js.map +1 -0
  37. package/dist/server/common/test/api-test-app.d.ts +12 -0
  38. package/dist/server/common/test/api-test-app.js +76 -0
  39. package/dist/server/common/test/api-test-app.js.map +1 -0
  40. package/dist/server/common/test/app-bootstrap.helper.js +8 -1
  41. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
  42. package/dist/server/common/test/fake-bootstrap.server.js +3 -2
  43. package/dist/server/common/test/fake-bootstrap.server.js.map +1 -1
  44. package/dist/server/common/test/fake-docker-engine.server.d.ts +25 -6
  45. package/dist/server/common/test/fake-docker-engine.server.js +111 -34
  46. package/dist/server/common/test/fake-docker-engine.server.js.map +1 -1
  47. package/dist/server/common/test/fake-proxmox.server.js +4 -4
  48. package/dist/server/common/test/fake-ssh.server.js +6 -6
  49. package/dist/server/common/test/fake-ssh.server.js.map +1 -1
  50. package/dist/server/common/test/test-database.helper.d.ts +6 -0
  51. package/dist/server/common/test/test-database.helper.js +29 -0
  52. package/dist/server/common/test/test-database.helper.js.map +1 -0
  53. package/dist/server/common/test/tls-fixture.d.ts +2 -1
  54. package/dist/server/common/test/tls-fixture.js +47 -5
  55. package/dist/server/common/test/tls-fixture.js.map +1 -1
  56. package/dist/server/modules/agents/agents.module.js +1 -8
  57. package/dist/server/modules/agents/agents.module.js.map +1 -1
  58. package/dist/server/modules/agents/controllers/agents.controller.d.ts +4 -4
  59. package/dist/server/modules/agents/controllers/agents.controller.js +6 -10
  60. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  61. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js +7 -7
  62. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js.map +1 -1
  63. package/dist/server/modules/cloud/services/cloud-session-manager.service.d.ts +12 -0
  64. package/dist/server/modules/cloud/services/cloud-session-manager.service.js +78 -9
  65. package/dist/server/modules/cloud/services/cloud-session-manager.service.js.map +1 -1
  66. package/dist/server/modules/cloud/services/notification-recipient-resolver.service.d.ts +2 -2
  67. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +9 -3
  68. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
  69. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js +2 -2
  70. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js.map +1 -1
  71. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.d.ts +4 -4
  72. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js +6 -6
  73. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js.map +1 -1
  74. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +2 -2
  75. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
  76. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +3 -0
  77. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +1 -0
  78. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -1
  79. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.d.ts +2 -2
  80. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js.map +1 -1
  81. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +3 -2
  82. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
  83. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +14 -3
  84. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +54 -14
  85. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  86. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -1
  87. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.d.ts +2 -2
  88. package/dist/server/modules/core/controllers/docker-archive-owners.d.ts +29 -0
  89. package/dist/server/modules/core/controllers/docker-archive-owners.js +226 -0
  90. package/dist/server/modules/core/controllers/docker-archive-owners.js.map +1 -0
  91. package/dist/server/modules/core/controllers/docker-archive.js +1 -1
  92. package/dist/server/modules/core/controllers/docker-archive.js.map +1 -1
  93. package/dist/server/modules/core/controllers/docker-engine.client.d.ts +6 -1
  94. package/dist/server/modules/core/controllers/docker-engine.client.js +46 -4
  95. package/dist/server/modules/core/controllers/docker-engine.client.js.map +1 -1
  96. package/dist/server/modules/core/controllers/docker-image-metadata.d.ts +248 -0
  97. package/dist/server/modules/core/controllers/docker-image-metadata.js +161 -0
  98. package/dist/server/modules/core/controllers/docker-image-metadata.js.map +1 -0
  99. package/dist/server/modules/core/controllers/docker-settings.d.ts +13 -2
  100. package/dist/server/modules/core/controllers/docker-settings.js +49 -11
  101. package/dist/server/modules/core/controllers/docker-settings.js.map +1 -1
  102. package/dist/server/modules/core/controllers/health.controller.d.ts +7 -6
  103. package/dist/server/modules/core/controllers/health.controller.js +1 -1
  104. package/dist/server/modules/core/controllers/health.controller.js.map +1 -1
  105. package/dist/server/modules/core/controllers/host-user-identity.d.ts +34 -0
  106. package/dist/server/modules/core/controllers/host-user-identity.js +23 -0
  107. package/dist/server/modules/core/controllers/host-user-identity.js.map +1 -0
  108. package/dist/server/modules/core/controllers/runtime.controller.d.ts +2 -49
  109. package/dist/server/modules/core/controllers/runtime.controller.js +2 -0
  110. package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
  111. package/dist/server/modules/core/services/preflight.service.d.ts +2 -2
  112. package/dist/server/modules/core/services/preflight.service.js +4 -3
  113. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  114. package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +3 -0
  115. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +12 -4
  116. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -1
  117. package/dist/server/modules/e2ee/services/e2ee-pairing.service.d.ts +1 -0
  118. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +4 -0
  119. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -1
  120. package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +6 -2
  121. package/dist/server/modules/e2ee/services/e2ee-trust.service.js +16 -5
  122. package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -1
  123. package/dist/server/modules/epic-time/epic-time.module.js +0 -2
  124. package/dist/server/modules/epic-time/epic-time.module.js.map +1 -1
  125. package/dist/server/modules/epic-time/services/agent-time-accounting.service.d.ts +3 -3
  126. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js +12 -12
  127. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js.map +1 -1
  128. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.d.ts +2 -2
  129. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js.map +1 -1
  130. package/dist/server/modules/epic-time/services/epic-time.service.d.ts +3 -3
  131. package/dist/server/modules/epic-time/services/epic-time.service.js +7 -7
  132. package/dist/server/modules/epic-time/services/epic-time.service.js.map +1 -1
  133. package/dist/server/modules/epics/epics.module.js +0 -2
  134. package/dist/server/modules/epics/epics.module.js.map +1 -1
  135. package/dist/server/modules/epics/services/epic-relations.service.d.ts +1 -4
  136. package/dist/server/modules/epics/services/epic-relations.service.js +2 -22
  137. package/dist/server/modules/epics/services/epic-relations.service.js.map +1 -1
  138. package/dist/server/modules/epics/services/epics.service.d.ts +4 -4
  139. package/dist/server/modules/epics/services/epics.service.js +11 -19
  140. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  141. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.d.ts +2 -2
  142. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js +3 -3
  143. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
  144. package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.d.ts +2 -2
  145. package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.js +2 -2
  146. package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.js.map +1 -1
  147. package/dist/server/modules/events/catalog/on-catalog-event.d.ts +5 -0
  148. package/dist/server/modules/events/catalog/on-catalog-event.js +8 -0
  149. package/dist/server/modules/events/catalog/on-catalog-event.js.map +1 -0
  150. package/dist/server/modules/events/signals/session-turn-signals.js.map +1 -0
  151. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.d.ts +0 -5
  152. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js +8 -44
  153. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js.map +1 -1
  154. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.d.ts +0 -5
  155. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js +9 -45
  156. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js.map +1 -1
  157. package/dist/server/modules/external-integrations/adapters/vendor-shared.d.ts +7 -2
  158. package/dist/server/modules/external-integrations/adapters/vendor-shared.js +36 -0
  159. package/dist/server/modules/external-integrations/adapters/vendor-shared.js.map +1 -1
  160. package/dist/server/modules/external-integrations/connections/integration-connections.service.d.ts +2 -2
  161. package/dist/server/modules/external-integrations/connections/integration-connections.service.js.map +1 -1
  162. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.d.ts +2 -2
  163. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js.map +1 -1
  164. package/dist/server/modules/external-integrations/my-work/external-my-work.service.d.ts +2 -2
  165. package/dist/server/modules/external-integrations/my-work/external-my-work.service.js.map +1 -1
  166. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.d.ts +2 -2
  167. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js.map +1 -1
  168. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.d.ts +2 -2
  169. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js.map +1 -1
  170. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.d.ts +2 -2
  171. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js.map +1 -1
  172. package/dist/server/modules/file-sync/build-exclusion-suggestions.d.ts +15 -0
  173. package/dist/server/modules/file-sync/build-exclusion-suggestions.js +402 -0
  174. package/dist/server/modules/file-sync/build-exclusion-suggestions.js.map +1 -0
  175. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.d.ts +102 -0
  176. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js +21 -0
  177. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js.map +1 -0
  178. package/dist/server/modules/file-sync/file-sync-auto-fix.store.d.ts +12 -0
  179. package/dist/server/modules/file-sync/file-sync-auto-fix.store.js +73 -0
  180. package/dist/server/modules/file-sync/file-sync-auto-fix.store.js.map +1 -0
  181. package/dist/server/modules/file-sync/file-sync-conflicts.d.ts +3 -0
  182. package/dist/server/modules/file-sync/file-sync-conflicts.js +191 -0
  183. package/dist/server/modules/file-sync/file-sync-conflicts.js.map +1 -0
  184. package/dist/server/modules/file-sync/file-sync-ignores.store.d.ts +5 -1
  185. package/dist/server/modules/file-sync/file-sync-ignores.store.js +39 -8
  186. package/dist/server/modules/file-sync/file-sync-ignores.store.js.map +1 -1
  187. package/dist/server/modules/file-sync/file-sync.controller.d.ts +1 -3
  188. package/dist/server/modules/file-sync/file-sync.controller.js +5 -14
  189. package/dist/server/modules/file-sync/file-sync.controller.js.map +1 -1
  190. package/dist/server/modules/file-sync/file-sync.dto.d.ts +233 -1
  191. package/dist/server/modules/file-sync/file-sync.dto.js +77 -4
  192. package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -1
  193. package/dist/server/modules/file-sync/file-sync.module.js +14 -1
  194. package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
  195. package/dist/server/modules/file-sync/file-sync.service.d.ts +21 -5
  196. package/dist/server/modules/file-sync/file-sync.service.js +174 -38
  197. package/dist/server/modules/file-sync/file-sync.service.js.map +1 -1
  198. package/dist/server/modules/file-sync/git-guard.dto.d.ts +61 -0
  199. package/dist/server/modules/file-sync/git-guard.dto.js +26 -0
  200. package/dist/server/modules/file-sync/git-guard.dto.js.map +1 -0
  201. package/dist/server/modules/file-sync/home-git-guard.service.d.ts +5 -3
  202. package/dist/server/modules/file-sync/home-git-guard.service.js +50 -25
  203. package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -1
  204. package/dist/server/modules/file-sync/host-git-guard.controller.d.ts +9 -0
  205. package/dist/server/modules/file-sync/host-git-guard.controller.js +64 -0
  206. package/dist/server/modules/file-sync/host-git-guard.controller.js.map +1 -0
  207. package/dist/server/modules/file-sync/host-git-index.controller.d.ts +10 -0
  208. package/dist/server/modules/file-sync/host-git-index.controller.js +67 -0
  209. package/dist/server/modules/file-sync/host-git-index.controller.js.map +1 -0
  210. package/dist/server/modules/file-sync/host-sync.controller.d.ts +20 -10
  211. package/dist/server/modules/file-sync/host-sync.controller.js +117 -17
  212. package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
  213. package/dist/server/modules/file-sync/ignore-pattern-matcher.d.ts +33 -0
  214. package/dist/server/modules/file-sync/ignore-pattern-matcher.js +227 -0
  215. package/dist/server/modules/file-sync/ignore-pattern-matcher.js.map +1 -0
  216. package/dist/server/modules/file-sync/project-repository.d.ts +2 -0
  217. package/dist/server/modules/file-sync/project-repository.js +20 -0
  218. package/dist/server/modules/file-sync/project-repository.js.map +1 -0
  219. package/dist/server/modules/file-sync/sync-path-inspection.dto.d.ts +610 -0
  220. package/dist/server/modules/file-sync/sync-path-inspection.dto.js +100 -0
  221. package/dist/server/modules/file-sync/sync-path-inspection.dto.js.map +1 -0
  222. package/dist/server/modules/file-sync/sync-path-inspector.d.ts +12 -0
  223. package/dist/server/modules/file-sync/sync-path-inspector.js +429 -0
  224. package/dist/server/modules/file-sync/sync-path-inspector.js.map +1 -0
  225. package/dist/server/modules/file-sync/syncthing-launcher.d.ts +4 -0
  226. package/dist/server/modules/file-sync/syncthing-launcher.js +21 -1
  227. package/dist/server/modules/file-sync/syncthing-launcher.js.map +1 -1
  228. package/dist/server/modules/file-sync/syncthing-manager.service.d.ts +2 -0
  229. package/dist/server/modules/file-sync/syncthing-manager.service.js +27 -11
  230. package/dist/server/modules/file-sync/syncthing-manager.service.js.map +1 -1
  231. package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +30 -4
  232. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +69 -4
  233. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -1
  234. package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.d.ts +3 -0
  235. package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.js +11 -0
  236. package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.js.map +1 -1
  237. package/dist/server/modules/file-sync/translate-git-ignore-rule.d.ts +3 -0
  238. package/dist/server/modules/file-sync/translate-git-ignore-rule.js +30 -0
  239. package/dist/server/modules/file-sync/translate-git-ignore-rule.js.map +1 -0
  240. package/dist/server/modules/git/dtos/git.dto.d.ts +4 -4
  241. package/dist/server/modules/git/services/git.service.d.ts +3 -2
  242. package/dist/server/modules/git/services/git.service.js +12 -0
  243. package/dist/server/modules/git/services/git.service.js.map +1 -1
  244. package/dist/server/modules/guests/guests.module.js +1 -1
  245. package/dist/server/modules/guests/guests.module.js.map +1 -1
  246. package/dist/server/modules/guests/services/guest-health.service.d.ts +3 -1
  247. package/dist/server/modules/guests/services/guest-health.service.js +15 -5
  248. package/dist/server/modules/guests/services/guest-health.service.js.map +1 -1
  249. package/dist/server/modules/guests/services/guests.service.d.ts +2 -2
  250. package/dist/server/modules/guests/services/guests.service.js +0 -2
  251. package/dist/server/modules/guests/services/guests.service.js.map +1 -1
  252. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +4 -4
  253. package/dist/server/modules/hooks/services/hooks.service.js +1 -1
  254. package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
  255. package/dist/server/modules/hooks/services/pending-ask-user-question.service.d.ts +3 -6
  256. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js +3 -3
  257. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js.map +1 -1
  258. package/dist/server/modules/mcp/mcp-full.module.js +0 -2
  259. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
  260. package/dist/server/modules/mcp/services/handlers/chat-context.d.ts +2 -2
  261. package/dist/server/modules/mcp/services/handlers/chat-tools.js +1 -1
  262. package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -1
  263. package/dist/server/modules/mcp/services/handlers/skill-tools.js +2 -2
  264. package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
  265. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +3 -4
  266. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +4 -4
  267. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
  268. package/dist/server/modules/mcp/services/mcp.service.d.ts +2 -2
  269. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  270. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +4 -4
  271. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
  272. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +1 -1
  273. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
  274. package/dist/server/modules/profiles/controllers/profiles.controller.d.ts +7 -31
  275. package/dist/server/modules/profiles/controllers/profiles.controller.js +10 -13
  276. package/dist/server/modules/profiles/controllers/profiles.controller.js.map +1 -1
  277. package/dist/server/modules/profiles/dto.d.ts +17 -0
  278. package/dist/server/modules/profiles/dto.js.map +1 -1
  279. package/dist/server/modules/profiles/profiles.module.js +1 -2
  280. package/dist/server/modules/profiles/profiles.module.js.map +1 -1
  281. package/dist/server/modules/profiles/services/provider-configs.service.d.ts +1 -4
  282. package/dist/server/modules/profiles/services/provider-configs.service.js +3 -12
  283. package/dist/server/modules/profiles/services/provider-configs.service.js.map +1 -1
  284. package/dist/server/modules/project-communication/project-communication.module.js +1 -2
  285. package/dist/server/modules/project-communication/project-communication.module.js.map +1 -1
  286. package/dist/server/modules/project-communication/project-communication.service.d.ts +4 -4
  287. package/dist/server/modules/project-communication/project-communication.service.js +8 -8
  288. package/dist/server/modules/project-communication/project-communication.service.js.map +1 -1
  289. package/dist/server/modules/projects/controllers/projects.controller.d.ts +4 -17
  290. package/dist/server/modules/projects/controllers/projects.controller.js +2 -9
  291. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  292. package/dist/server/modules/projects/dtos/project-presets.dto.d.ts +5 -0
  293. package/dist/server/modules/projects/dtos/project-presets.dto.js +3 -0
  294. package/dist/server/modules/projects/dtos/project-presets.dto.js.map +1 -0
  295. package/dist/server/modules/projects/helpers/project-export.d.ts +2 -2
  296. package/dist/server/modules/projects/helpers/project-export.js.map +1 -1
  297. package/dist/server/modules/projects/helpers/project-import.d.ts +3 -2
  298. package/dist/server/modules/projects/helpers/project-import.js.map +1 -1
  299. package/dist/server/modules/projects/helpers/project-presets.helpers.d.ts +2 -2
  300. package/dist/server/modules/projects/helpers/project-presets.helpers.js.map +1 -1
  301. package/dist/server/modules/projects/helpers/template-loader.d.ts +3 -2
  302. package/dist/server/modules/projects/helpers/template-loader.js.map +1 -1
  303. package/dist/server/modules/projects/projects.module.js +0 -2
  304. package/dist/server/modules/projects/projects.module.js.map +1 -1
  305. package/dist/server/modules/projects/services/project-provider-provisioning.service.d.ts +2 -2
  306. package/dist/server/modules/projects/services/project-provider-provisioning.service.js.map +1 -1
  307. package/dist/server/modules/projects/services/project-registry-import.service.d.ts +2 -2
  308. package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -1
  309. package/dist/server/modules/projects/services/project-template-upgrade.service.d.ts +3 -3
  310. package/dist/server/modules/projects/services/project-template-upgrade.service.js +6 -7
  311. package/dist/server/modules/projects/services/project-template-upgrade.service.js.map +1 -1
  312. package/dist/server/modules/projects/services/projects.service.d.ts +4 -4
  313. package/dist/server/modules/projects/services/projects.service.js +7 -9
  314. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  315. package/dist/server/modules/projects/template-codec/codecs/scheduled-epics.codec.d.ts +2 -2
  316. package/dist/server/modules/projects/template-codec/codecs/scheduled-epics.codec.js.map +1 -1
  317. package/dist/server/modules/projects/template-codec/codecs/teams.codec.d.ts +2 -2
  318. package/dist/server/modules/projects/template-codec/codecs/teams.codec.js.map +1 -1
  319. package/dist/server/modules/projects/template-codec/codecs/watchers.codec.d.ts +1 -1
  320. package/dist/server/modules/projects/template-codec/codecs/watchers.codec.js.map +1 -1
  321. package/dist/server/modules/projects/template-codec/template-section-codec.d.ts +3 -3
  322. package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +1 -3
  323. package/dist/server/modules/prompts/controllers/prompts.controller.js +3 -8
  324. package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -1
  325. package/dist/server/modules/prompts/prompts.module.js +1 -2
  326. package/dist/server/modules/prompts/prompts.module.js.map +1 -1
  327. package/dist/server/modules/providers/adapters/antigravity.adapter.d.ts +1 -1
  328. package/dist/server/modules/providers/adapters/antigravity.adapter.js +2 -1
  329. package/dist/server/modules/providers/adapters/antigravity.adapter.js.map +1 -1
  330. package/dist/server/modules/providers/adapters/antigravity.traits.d.ts +2 -0
  331. package/dist/server/modules/providers/adapters/antigravity.traits.js +9 -0
  332. package/dist/server/modules/providers/adapters/antigravity.traits.js.map +1 -0
  333. package/dist/server/modules/providers/adapters/capabilities/hook.capability.d.ts +0 -1
  334. package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.d.ts +0 -1
  335. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +0 -1
  336. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
  337. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +1 -3
  338. package/dist/server/modules/providers/adapters/claude.adapter.js +5 -8
  339. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  340. package/dist/server/modules/providers/adapters/claude.traits.d.ts +2 -0
  341. package/dist/server/modules/providers/adapters/claude.traits.js +9 -0
  342. package/dist/server/modules/providers/adapters/claude.traits.js.map +1 -0
  343. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +1 -2
  344. package/dist/server/modules/providers/adapters/codex.adapter.js +3 -5
  345. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  346. package/dist/server/modules/providers/adapters/codex.traits.d.ts +2 -0
  347. package/dist/server/modules/providers/adapters/codex.traits.js +9 -0
  348. package/dist/server/modules/providers/adapters/codex.traits.js.map +1 -0
  349. package/dist/server/modules/providers/adapters/copilot.adapter.d.ts +1 -3
  350. package/dist/server/modules/providers/adapters/copilot.adapter.js +3 -6
  351. package/dist/server/modules/providers/adapters/copilot.adapter.js.map +1 -1
  352. package/dist/server/modules/providers/adapters/copilot.traits.d.ts +2 -0
  353. package/dist/server/modules/providers/adapters/copilot.traits.js +9 -0
  354. package/dist/server/modules/providers/adapters/copilot.traits.js.map +1 -0
  355. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +1 -1
  356. package/dist/server/modules/providers/adapters/opencode.adapter.js +3 -4
  357. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
  358. package/dist/server/modules/providers/adapters/opencode.traits.d.ts +2 -0
  359. package/dist/server/modules/providers/adapters/opencode.traits.js +9 -0
  360. package/dist/server/modules/providers/adapters/opencode.traits.js.map +1 -0
  361. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +2 -2
  362. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  363. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +2 -0
  364. package/dist/server/modules/providers/adapters/provider-traits.d.ts +9 -0
  365. package/dist/server/modules/providers/adapters/provider-traits.js +28 -0
  366. package/dist/server/modules/providers/adapters/provider-traits.js.map +1 -0
  367. package/dist/server/modules/providers/controllers/provider-efforts.controller.d.ts +9 -7
  368. package/dist/server/modules/providers/controllers/provider-efforts.controller.js.map +1 -1
  369. package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +1 -1
  370. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
  371. package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.d.ts +2 -2
  372. package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.js.map +1 -1
  373. package/dist/server/modules/providers/controllers/providers.controller.d.ts +1 -1
  374. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  375. package/dist/server/modules/providers/provider-traits.types.d.ts +5 -0
  376. package/dist/server/modules/providers/provider-traits.types.js +3 -0
  377. package/dist/server/modules/providers/provider-traits.types.js.map +1 -0
  378. package/dist/server/modules/providers/providers.module.js +0 -2
  379. package/dist/server/modules/providers/providers.module.js.map +1 -1
  380. package/dist/server/modules/providers/services/mcp-provider-registration.service.d.ts +2 -2
  381. package/dist/server/modules/providers/services/mcp-provider-registration.service.js +2 -1
  382. package/dist/server/modules/providers/services/mcp-provider-registration.service.js.map +1 -1
  383. package/dist/server/modules/providers/services/provider-cli-installer.service.d.ts +1 -1
  384. package/dist/server/modules/providers/services/provider-cli-installer.service.js.map +1 -1
  385. package/dist/server/modules/providers/services/provider-discovery.service.d.ts +1 -1
  386. package/dist/server/modules/providers/services/provider-discovery.service.js.map +1 -1
  387. package/dist/server/modules/providers/services/provider-effort-seeding.service.d.ts +1 -1
  388. package/dist/server/modules/providers/services/provider-effort-seeding.service.js.map +1 -1
  389. package/dist/server/modules/providers/services/provider-mcp-ensure.service.d.ts +4 -4
  390. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js +8 -7
  391. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js.map +1 -1
  392. package/dist/server/modules/providers/services/provider-plugin-policy.service.d.ts +2 -2
  393. package/dist/server/modules/providers/services/provider-plugin-policy.service.js.map +1 -1
  394. package/dist/server/modules/providers/services/provider-plugins.service.d.ts +1 -1
  395. package/dist/server/modules/providers/services/provider-plugins.service.js.map +1 -1
  396. package/dist/server/modules/providers/services/provider-project-sync.service.d.ts +4 -4
  397. package/dist/server/modules/providers/services/provider-project-sync.service.js +6 -6
  398. package/dist/server/modules/providers/services/provider-project-sync.service.js.map +1 -1
  399. package/dist/server/modules/providers/services/provider-state-manager.service.d.ts +2 -2
  400. package/dist/server/modules/providers/services/provider-state-manager.service.js +1 -1
  401. package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -1
  402. package/dist/server/modules/providers/utils/claude-config.js.map +1 -0
  403. package/dist/server/modules/providers/utils/codex-config.js.map +1 -0
  404. package/dist/server/modules/providers/utils/env-builder.js.map +1 -0
  405. package/dist/server/modules/{sessions → providers}/utils/profile-options.d.ts +1 -1
  406. package/dist/server/modules/providers/utils/profile-options.js.map +1 -0
  407. package/dist/server/modules/registry/controllers/registry.controller.d.ts +2 -2
  408. package/dist/server/modules/registry/controllers/registry.controller.js.map +1 -1
  409. package/dist/server/modules/registry/controllers/templates.controller.d.ts +3 -3
  410. package/dist/server/modules/registry/services/registry-orchestration.service.d.ts +3 -1
  411. package/dist/server/modules/registry/services/registry-orchestration.service.js +14 -2
  412. package/dist/server/modules/registry/services/registry-orchestration.service.js.map +1 -1
  413. package/dist/server/modules/remotes/admission/project-write-admission.module.js +3 -5
  414. package/dist/server/modules/remotes/admission/project-write-admission.module.js.map +1 -1
  415. package/dist/server/modules/remotes/admission/project-write-admission.service.d.ts +6 -17
  416. package/dist/server/modules/remotes/admission/project-write-admission.service.js +11 -62
  417. package/dist/server/modules/remotes/admission/project-write-admission.service.js.map +1 -1
  418. package/dist/server/modules/remotes/connect-choices.controller.d.ts +9 -0
  419. package/dist/server/modules/remotes/connect-choices.controller.js +54 -0
  420. package/dist/server/modules/remotes/connect-choices.controller.js.map +1 -0
  421. package/dist/server/modules/remotes/connect-choices.dto.d.ts +52 -0
  422. package/dist/server/modules/remotes/connect-choices.dto.js +19 -0
  423. package/dist/server/modules/remotes/connect-choices.dto.js.map +1 -0
  424. package/dist/server/modules/remotes/connect-choices.store.d.ts +12 -0
  425. package/dist/server/modules/remotes/connect-choices.store.js +95 -0
  426. package/dist/server/modules/remotes/connect-choices.store.js.map +1 -0
  427. package/dist/server/modules/remotes/contract/host-routes.d.ts +27536 -0
  428. package/dist/server/modules/remotes/contract/host-routes.js +405 -0
  429. package/dist/server/modules/remotes/contract/host-routes.js.map +1 -0
  430. package/dist/server/modules/remotes/controllers/remotes.controller.d.ts +3 -0
  431. package/dist/server/modules/remotes/controllers/remotes.controller.js +9 -1
  432. package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -1
  433. package/dist/server/modules/remotes/docker/docker-compose-user-fix.d.ts +3 -0
  434. package/dist/server/modules/remotes/docker/docker-compose-user-fix.js +212 -0
  435. package/dist/server/modules/remotes/docker/docker-compose-user-fix.js.map +1 -0
  436. package/dist/server/modules/remotes/docker/docker-copy-back-exclusions.d.ts +27 -0
  437. package/dist/server/modules/remotes/docker/docker-copy-back-exclusions.js +185 -0
  438. package/dist/server/modules/remotes/docker/docker-copy-back-exclusions.js.map +1 -0
  439. package/dist/server/modules/remotes/docker/docker-copy-back.d.ts +15 -1
  440. package/dist/server/modules/remotes/docker/docker-copy-back.dto.d.ts +8 -1
  441. package/dist/server/modules/remotes/docker/docker-copy-back.dto.js +3 -1
  442. package/dist/server/modules/remotes/docker/docker-copy-back.dto.js.map +1 -1
  443. package/dist/server/modules/remotes/docker/docker-copy-back.js +770 -144
  444. package/dist/server/modules/remotes/docker/docker-copy-back.js.map +1 -1
  445. package/dist/server/modules/remotes/docker/docker-data-groups.d.ts +3 -3
  446. package/dist/server/modules/remotes/docker/docker-data-groups.js +20 -6
  447. package/dist/server/modules/remotes/docker/docker-data-groups.js.map +1 -1
  448. package/dist/server/modules/remotes/docker/docker-data-representation.d.ts +9 -0
  449. package/dist/server/modules/remotes/docker/docker-data-representation.js +85 -0
  450. package/dist/server/modules/remotes/docker/docker-data-representation.js.map +1 -0
  451. package/dist/server/modules/remotes/docker/docker-handoff.d.ts +9 -4
  452. package/dist/server/modules/remotes/docker/docker-handoff.js +396 -66
  453. package/dist/server/modules/remotes/docker/docker-handoff.js.map +1 -1
  454. package/dist/server/modules/remotes/docker/docker-handoff.store.d.ts +40 -7
  455. package/dist/server/modules/remotes/docker/docker-handoff.store.js.map +1 -1
  456. package/dist/server/modules/remotes/docker/docker-ownership.d.ts +26 -0
  457. package/dist/server/modules/remotes/docker/docker-ownership.js +182 -0
  458. package/dist/server/modules/remotes/docker/docker-ownership.js.map +1 -0
  459. package/dist/server/modules/remotes/docker/docker-plan-files.d.ts +1 -0
  460. package/dist/server/modules/remotes/docker/docker-plan-files.js +4 -0
  461. package/dist/server/modules/remotes/docker/docker-plan-files.js.map +1 -1
  462. package/dist/server/modules/remotes/docker/docker-plan-fit.d.ts +6 -3
  463. package/dist/server/modules/remotes/docker/docker-plan-fit.js +26 -8
  464. package/dist/server/modules/remotes/docker/docker-plan-fit.js.map +1 -1
  465. package/dist/server/modules/remotes/docker/docker-plan-policy.d.ts +7 -3
  466. package/dist/server/modules/remotes/docker/docker-plan-policy.js +287 -43
  467. package/dist/server/modules/remotes/docker/docker-plan-policy.js.map +1 -1
  468. package/dist/server/modules/remotes/docker/docker-plan-source.service.d.ts +57 -8
  469. package/dist/server/modules/remotes/docker/docker-plan-source.service.js +477 -53
  470. package/dist/server/modules/remotes/docker/docker-plan-source.service.js.map +1 -1
  471. package/dist/server/modules/remotes/docker/docker-plan.controller.d.ts +4 -1
  472. package/dist/server/modules/remotes/docker/docker-plan.controller.js +53 -0
  473. package/dist/server/modules/remotes/docker/docker-plan.controller.js.map +1 -1
  474. package/dist/server/modules/remotes/docker/docker-plan.dto.d.ts +158 -15
  475. package/dist/server/modules/remotes/docker/docker-plan.dto.js +12 -2
  476. package/dist/server/modules/remotes/docker/docker-plan.dto.js.map +1 -1
  477. package/dist/server/modules/remotes/docker/docker-plan.service.d.ts +16 -7
  478. package/dist/server/modules/remotes/docker/docker-plan.service.js +261 -19
  479. package/dist/server/modules/remotes/docker/docker-plan.service.js.map +1 -1
  480. package/dist/server/modules/remotes/docker/docker-project-compose.d.ts +7 -0
  481. package/dist/server/modules/remotes/docker/docker-project-compose.js +29 -0
  482. package/dist/server/modules/remotes/docker/docker-project-compose.js.map +1 -0
  483. package/dist/server/modules/remotes/docker/docker-project-resources.d.ts +14 -0
  484. package/dist/server/modules/remotes/docker/docker-project-resources.js +33 -0
  485. package/dist/server/modules/remotes/docker/docker-project-resources.js.map +1 -0
  486. package/dist/server/modules/remotes/dtos/remote.dto.d.ts +2 -0
  487. package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -1
  488. package/dist/server/modules/remotes/git-owner.store.d.ts +13 -0
  489. package/dist/server/modules/remotes/git-owner.store.js +69 -0
  490. package/dist/server/modules/remotes/git-owner.store.js.map +1 -0
  491. package/dist/server/modules/remotes/host/host-api-key-io.adapter.js +3 -3
  492. package/dist/server/modules/remotes/host/host-api-key-io.adapter.js.map +1 -1
  493. package/dist/server/modules/remotes/host/host-api-key.module.js +3 -2
  494. package/dist/server/modules/remotes/host/host-api-key.module.js.map +1 -1
  495. package/dist/server/modules/remotes/host/host-api-key.service.d.ts +6 -4
  496. package/dist/server/modules/remotes/host/host-api-key.service.js +30 -10
  497. package/dist/server/modules/remotes/host/host-api-key.service.js.map +1 -1
  498. package/dist/server/modules/remotes/host/host-docker-volume-associations.store.d.ts +14 -0
  499. package/dist/server/modules/remotes/host/host-docker-volume-associations.store.js +91 -0
  500. package/dist/server/modules/remotes/host/host-docker-volume-associations.store.js.map +1 -0
  501. package/dist/server/modules/remotes/host/host-docker.controller.d.ts +8 -0
  502. package/dist/server/modules/remotes/host/host-docker.controller.js +22 -6
  503. package/dist/server/modules/remotes/host/host-docker.controller.js.map +1 -1
  504. package/dist/server/modules/remotes/host/host-docker.dto.d.ts +647 -0
  505. package/dist/server/modules/remotes/host/host-docker.dto.js +58 -8
  506. package/dist/server/modules/remotes/host/host-docker.dto.js.map +1 -1
  507. package/dist/server/modules/remotes/host/host-docker.service.d.ts +24 -5
  508. package/dist/server/modules/remotes/host/host-docker.service.js +317 -146
  509. package/dist/server/modules/remotes/host/host-docker.service.js.map +1 -1
  510. package/dist/server/modules/remotes/host/host-helper.dto.d.ts +46 -0
  511. package/dist/server/modules/remotes/host/host-helper.dto.js +56 -0
  512. package/dist/server/modules/remotes/host/host-helper.dto.js.map +1 -0
  513. package/dist/server/modules/remotes/host/host-helper.module.d.ts +2 -0
  514. package/dist/server/modules/remotes/host/host-helper.module.js +23 -0
  515. package/dist/server/modules/remotes/host/host-helper.module.js.map +1 -0
  516. package/dist/server/modules/remotes/host/host-helper.service.d.ts +1 -39
  517. package/dist/server/modules/remotes/host/host-helper.service.js +5 -18
  518. package/dist/server/modules/remotes/host/host-helper.service.js.map +1 -1
  519. package/dist/server/modules/remotes/host/host-ipv4-routes.d.ts +4 -0
  520. package/dist/server/modules/remotes/host/host-ipv4-routes.js +43 -0
  521. package/dist/server/modules/remotes/host/host-ipv4-routes.js.map +1 -0
  522. package/dist/server/modules/remotes/host/host-provider-auth.controller.d.ts +4 -2
  523. package/dist/server/modules/remotes/host/host-provider-auth.controller.js +3 -29
  524. package/dist/server/modules/remotes/host/host-provider-auth.controller.js.map +1 -1
  525. package/dist/server/modules/remotes/host/host-provider-auth.dto.d.ts +67 -0
  526. package/dist/server/modules/remotes/host/host-provider-auth.dto.js +32 -0
  527. package/dist/server/modules/remotes/host/host-provider-auth.dto.js.map +1 -0
  528. package/dist/server/modules/remotes/host/host-provider-auth.service.d.ts +1 -8
  529. package/dist/server/modules/remotes/host/host-provider-auth.service.js.map +1 -1
  530. package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.d.ts +5 -37
  531. package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.js +5 -5
  532. package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.js.map +1 -1
  533. package/dist/server/modules/remotes/host/host-skill-settings.controller.d.ts +5 -9
  534. package/dist/server/modules/remotes/host/host-skill-settings.controller.js +2 -1
  535. package/dist/server/modules/remotes/host/host-skill-settings.controller.js.map +1 -1
  536. package/dist/server/modules/remotes/host/host-skill-settings.service.d.ts +2 -2
  537. package/dist/server/modules/remotes/host/host-skill-settings.service.js.map +1 -1
  538. package/dist/server/modules/remotes/host/host-ssh-keys.controller.js +2 -4
  539. package/dist/server/modules/remotes/host/host-ssh-keys.controller.js.map +1 -1
  540. package/dist/server/modules/remotes/host/host-ssh-keys.dto.d.ts +8 -0
  541. package/dist/server/modules/remotes/host/host-ssh-keys.dto.js +7 -0
  542. package/dist/server/modules/remotes/host/host-ssh-keys.dto.js.map +1 -0
  543. package/dist/server/modules/remotes/host/host-transcripts.controller.d.ts +3 -2
  544. package/dist/server/modules/remotes/host/host-transcripts.controller.js +2 -1
  545. package/dist/server/modules/remotes/host/host-transcripts.controller.js.map +1 -1
  546. package/dist/server/modules/remotes/host/host-update.controller.d.ts +6 -11
  547. package/dist/server/modules/remotes/host/host-update.controller.js +5 -42
  548. package/dist/server/modules/remotes/host/host-update.controller.js.map +1 -1
  549. package/dist/server/modules/remotes/host/host.controller.d.ts +10 -14
  550. package/dist/server/modules/remotes/host/host.controller.js.map +1 -1
  551. package/dist/server/modules/remotes/host/project-freeze.service.d.ts +4 -5
  552. package/dist/server/modules/remotes/host/project-freeze.service.js +14 -20
  553. package/dist/server/modules/remotes/host/project-freeze.service.js.map +1 -1
  554. package/dist/server/modules/remotes/host/provider-baseline.service.js +1 -1
  555. package/dist/server/modules/remotes/host/provider-baseline.service.js.map +1 -1
  556. package/dist/server/modules/remotes/host-image.d.ts +1 -1
  557. package/dist/server/modules/remotes/host-image.js +1 -1
  558. package/dist/server/modules/remotes/host-install/host-install-block.d.ts +1 -0
  559. package/dist/server/modules/remotes/host-install/host-install-block.js +76 -2
  560. package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -1
  561. package/dist/server/modules/remotes/host-install/host-install.service.d.ts +0 -1
  562. package/dist/server/modules/remotes/host-install/host-install.service.js +9 -26
  563. package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -1
  564. package/dist/server/modules/remotes/operations/attach.operation.d.ts +5 -1
  565. package/dist/server/modules/remotes/operations/attach.operation.js +40 -5
  566. package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -1
  567. package/dist/server/modules/remotes/operations/claim.operation.d.ts +1 -0
  568. package/dist/server/modules/remotes/operations/claim.operation.js +6 -1
  569. package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -1
  570. package/dist/server/modules/remotes/operations/detach.operation.d.ts +9 -2
  571. package/dist/server/modules/remotes/operations/detach.operation.js +22 -4
  572. package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -1
  573. package/dist/server/modules/remotes/operations/docker-import-inventory.store.d.ts +735 -4
  574. package/dist/server/modules/remotes/operations/docker-import-inventory.store.js +48 -1
  575. package/dist/server/modules/remotes/operations/docker-import-inventory.store.js.map +1 -1
  576. package/dist/server/modules/remotes/operations/file-sync-handoff.d.ts +29 -3
  577. package/dist/server/modules/remotes/operations/file-sync-handoff.js +477 -50
  578. package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -1
  579. package/dist/server/modules/remotes/operations/force-sync.operation.d.ts +39 -0
  580. package/dist/server/modules/remotes/operations/force-sync.operation.js +177 -0
  581. package/dist/server/modules/remotes/operations/force-sync.operation.js.map +1 -0
  582. package/dist/server/modules/remotes/operations/git-owner.dto.d.ts +83 -0
  583. package/dist/server/modules/remotes/operations/git-owner.dto.js +25 -0
  584. package/dist/server/modules/remotes/operations/git-owner.dto.js.map +1 -0
  585. package/dist/server/modules/remotes/operations/git-owner.operation.d.ts +35 -0
  586. package/dist/server/modules/remotes/operations/git-owner.operation.js +216 -0
  587. package/dist/server/modules/remotes/operations/git-owner.operation.js.map +1 -0
  588. package/dist/server/modules/remotes/operations/remote-host.client.d.ts +47 -491
  589. package/dist/server/modules/remotes/operations/remote-host.client.js +192 -414
  590. package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
  591. package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +38 -12
  592. package/dist/server/modules/remotes/operations/remote-operation.dto.js +5 -1
  593. package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -1
  594. package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +5 -1
  595. package/dist/server/modules/remotes/operations/remote-operation.runner.js +74 -27
  596. package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -1
  597. package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +4 -1
  598. package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -1
  599. package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +5 -0
  600. package/dist/server/modules/remotes/operations/remote-operations.controller.js +56 -0
  601. package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -1
  602. package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +17 -2
  603. package/dist/server/modules/remotes/operations/remote-operations.service.js +155 -5
  604. package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -1
  605. package/dist/server/modules/remotes/operations/update-logins.operation.d.ts +2 -4
  606. package/dist/server/modules/remotes/operations/update-logins.operation.js +3 -18
  607. package/dist/server/modules/remotes/operations/update-logins.operation.js.map +1 -1
  608. package/dist/server/modules/remotes/operations/vm-operations.dto.d.ts +7 -7
  609. package/dist/server/modules/remotes/ports/remote-health.port.d.ts +2 -0
  610. package/dist/server/modules/remotes/ports/remote-health.port.js.map +1 -1
  611. package/dist/server/modules/remotes/remotes.module.js +24 -2
  612. package/dist/server/modules/remotes/remotes.module.js.map +1 -1
  613. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.d.ts +2 -2
  614. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js +2 -13
  615. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js.map +1 -1
  616. package/dist/server/modules/remotes/services/remote-health.service.js +5 -0
  617. package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -1
  618. package/dist/server/modules/remotes/services/remote-skill-settings.service.d.ts +2 -2
  619. package/dist/server/modules/remotes/services/remote-skill-settings.service.js.map +1 -1
  620. package/dist/server/modules/remotes/sync/file-sync-failures.service.d.ts +18 -0
  621. package/dist/server/modules/remotes/sync/file-sync-failures.service.js +155 -0
  622. package/dist/server/modules/remotes/sync/file-sync-failures.service.js.map +1 -0
  623. package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.d.ts +14 -0
  624. package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js +99 -0
  625. package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js.map +1 -0
  626. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.d.ts +17 -0
  627. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js +124 -0
  628. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js.map +1 -0
  629. package/dist/server/modules/remotes/sync/project-file-sync.controller.d.ts +27 -0
  630. package/dist/server/modules/remotes/sync/project-file-sync.controller.js +146 -0
  631. package/dist/server/modules/remotes/sync/project-file-sync.controller.js.map +1 -0
  632. package/dist/server/modules/remotes/sync/remote-file-sync.dto.d.ts +70 -0
  633. package/dist/server/modules/remotes/sync/remote-file-sync.dto.js +16 -0
  634. package/dist/server/modules/remotes/sync/remote-file-sync.dto.js.map +1 -0
  635. package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +31 -1
  636. package/dist/server/modules/remotes/sync/remote-file-sync.service.js +440 -38
  637. package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -1
  638. package/dist/server/modules/remotes/sync/remote-live-sync.service.d.ts +2 -0
  639. package/dist/server/modules/remotes/sync/remote-live-sync.service.js +26 -12
  640. package/dist/server/modules/remotes/sync/remote-live-sync.service.js.map +1 -1
  641. package/dist/server/modules/remotes/time/project-time-settler.dto.d.ts +21 -0
  642. package/dist/server/modules/remotes/time/project-time-settler.dto.js +12 -0
  643. package/dist/server/modules/remotes/time/project-time-settler.dto.js.map +1 -0
  644. package/dist/server/modules/remotes/time/project-time-settler.service.d.ts +2 -21
  645. package/dist/server/modules/remotes/time/project-time-settler.service.js +1 -9
  646. package/dist/server/modules/remotes/time/project-time-settler.service.js.map +1 -1
  647. package/dist/server/modules/remotes/transcripts/transcript-transfer.dto.d.ts +4 -4
  648. package/dist/server/modules/remotes/transport/host-transport.d.ts +27 -0
  649. package/dist/server/modules/remotes/transport/host-transport.js +105 -0
  650. package/dist/server/modules/remotes/transport/host-transport.js.map +1 -0
  651. package/dist/server/modules/remotes/vm-user-identity.d.ts +30 -0
  652. package/dist/server/modules/remotes/vm-user-identity.js +52 -0
  653. package/dist/server/modules/remotes/vm-user-identity.js.map +1 -0
  654. package/dist/server/modules/reviews/reviews.module.js +1 -9
  655. package/dist/server/modules/reviews/reviews.module.js.map +1 -1
  656. package/dist/server/modules/reviews/services/review-suggestion-applier.service.d.ts +4 -4
  657. package/dist/server/modules/reviews/services/review-suggestion-applier.service.js +6 -6
  658. package/dist/server/modules/reviews/services/review-suggestion-applier.service.js.map +1 -1
  659. package/dist/server/modules/reviews/services/reviews.service.d.ts +4 -4
  660. package/dist/server/modules/reviews/services/reviews.service.js +7 -12
  661. package/dist/server/modules/reviews/services/reviews.service.js.map +1 -1
  662. package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js +2 -2
  663. package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js.map +1 -1
  664. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.d.ts +11 -12
  665. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js +37 -25
  666. package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js.map +1 -1
  667. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.d.ts +11 -9
  668. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +48 -2
  669. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
  670. package/dist/server/modules/runtime-context-capture/index.d.ts +3 -2
  671. package/dist/server/modules/runtime-context-capture/index.js.map +1 -1
  672. package/dist/server/modules/runtime-context-capture/provider-artifacts.types.d.ts +41 -0
  673. package/dist/server/modules/runtime-context-capture/provider-artifacts.types.js +3 -0
  674. package/dist/server/modules/runtime-context-capture/provider-artifacts.types.js.map +1 -0
  675. package/dist/server/modules/scheduled-epics/scheduled-epics.module.js +1 -2
  676. package/dist/server/modules/scheduled-epics/scheduled-epics.module.js.map +1 -1
  677. package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.d.ts +4 -4
  678. package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.js +6 -6
  679. package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.js.map +1 -1
  680. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.d.ts +2 -3
  681. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js +9 -12
  682. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js.map +1 -1
  683. package/dist/server/modules/seeders/services/data-seeder.service.d.ts +2 -3
  684. package/dist/server/modules/seeders/services/data-seeder.service.js.map +1 -1
  685. package/dist/server/modules/seeders/types/seeder.types.d.ts +2 -2
  686. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.d.ts +1 -1
  687. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +4 -2
  688. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +3 -0
  689. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -1
  690. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +4 -2
  691. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +3 -0
  692. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -1
  693. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.d.ts +1 -1
  694. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +2 -0
  695. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -1
  696. package/dist/server/modules/session-reader/data/pricing.json +3228 -3014
  697. package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +8 -18
  698. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +89 -172
  699. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -1
  700. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +12 -12
  701. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  702. package/dist/server/modules/session-reader/session-reader.module.js +2 -0
  703. package/dist/server/modules/session-reader/session-reader.module.js.map +1 -1
  704. package/dist/server/modules/session-terminal-runtime/dtos/active-session-info.dto.js.map +1 -0
  705. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js +2 -1
  706. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js.map +1 -1
  707. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.d.ts +8 -4
  708. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js +47 -18
  709. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js.map +1 -1
  710. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +3 -5
  711. package/dist/server/modules/sessions/controllers/sessions.controller.js +8 -11
  712. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  713. package/dist/server/modules/sessions/services/active-session-lookup.service.d.ts +4 -5
  714. package/dist/server/modules/sessions/services/active-session-lookup.service.js +9 -66
  715. package/dist/server/modules/sessions/services/active-session-lookup.service.js.map +1 -1
  716. package/dist/server/modules/sessions/services/message-pool.types.d.ts +1 -1
  717. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +2 -2
  718. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +7 -2
  719. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
  720. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +3 -5
  721. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +56 -95
  722. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -1
  723. package/dist/server/modules/sessions/services/session-launcher-facade.service.d.ts +1 -1
  724. package/dist/server/modules/sessions/services/session-launcher-facade.service.js +1 -1
  725. package/dist/server/modules/sessions/services/session-launcher-facade.service.js.map +1 -1
  726. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +3 -3
  727. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +8 -8
  728. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -1
  729. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +4 -0
  730. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +10 -2
  731. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  732. package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.d.ts +1 -1
  733. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +7 -7
  734. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +30 -29
  735. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  736. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +4 -2
  737. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +8 -9
  738. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  739. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.d.ts +3 -3
  740. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js +7 -7
  741. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js.map +1 -1
  742. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +4 -7
  743. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +111 -211
  744. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  745. package/dist/server/modules/sessions/services/sessions.service.d.ts +8 -10
  746. package/dist/server/modules/sessions/services/sessions.service.js +26 -158
  747. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  748. package/dist/server/modules/sessions/sessions-lifecycle.module.js +2 -2
  749. package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -1
  750. package/dist/server/modules/sessions/sessions-read.module.js +2 -2
  751. package/dist/server/modules/sessions/sessions-read.module.js.map +1 -1
  752. package/dist/server/modules/sessions/sessions.module.js +7 -5
  753. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  754. package/dist/server/modules/settings/controllers/settings.controller.d.ts +3 -4
  755. package/dist/server/modules/settings/controllers/settings.controller.js +6 -31
  756. package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -1
  757. package/dist/server/modules/settings/dtos/settings.dto.d.ts +12 -12
  758. package/dist/server/modules/settings/local/delegates/core-settings.delegate.d.ts +5 -0
  759. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +36 -2
  760. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
  761. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.d.ts +4 -0
  762. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.js +30 -23
  763. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.js.map +1 -1
  764. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.d.ts +2 -0
  765. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.js +2 -0
  766. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.js.map +1 -1
  767. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.d.ts +6 -0
  768. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js +26 -0
  769. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js.map +1 -1
  770. package/dist/server/modules/settings/services/settings.service.d.ts +5 -2
  771. package/dist/server/modules/settings/services/settings.service.js +14 -4
  772. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  773. package/dist/server/modules/settings/settings.module.js +1 -2
  774. package/dist/server/modules/settings/settings.module.js.map +1 -1
  775. package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js +5 -5
  776. package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js.map +1 -1
  777. package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js +5 -5
  778. package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js.map +1 -1
  779. package/dist/server/modules/skills/adapters/github-skill-source.base.js +4 -3
  780. package/dist/server/modules/skills/adapters/github-skill-source.base.js.map +1 -1
  781. package/dist/server/modules/skills/adapters/local-skill-source.adapter.js +5 -5
  782. package/dist/server/modules/skills/adapters/local-skill-source.adapter.js.map +1 -1
  783. package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js +5 -5
  784. package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js.map +1 -1
  785. package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js +5 -5
  786. package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js.map +1 -1
  787. package/dist/server/modules/skills/adapters/skill-source.adapter.d.ts +5 -0
  788. package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.d.ts +5 -0
  789. package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js +75 -0
  790. package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js.map +1 -0
  791. package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js +5 -5
  792. package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js.map +1 -1
  793. package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js +5 -5
  794. package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js.map +1 -1
  795. package/dist/server/modules/skills/controllers/skills.controller.js +2 -2
  796. package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
  797. package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +5 -5
  798. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js +9 -4
  799. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
  800. package/dist/server/modules/skills/services/skill-sync.service.d.ts +3 -3
  801. package/dist/server/modules/skills/services/skill-sync.service.js +32 -6
  802. package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
  803. package/dist/server/modules/skills/services/skill-sync.types.d.ts +3 -0
  804. package/dist/server/modules/skills/services/skills.service.d.ts +3 -1
  805. package/dist/server/modules/skills/services/skills.service.js +15 -2
  806. package/dist/server/modules/skills/services/skills.service.js.map +1 -1
  807. package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +3 -3
  808. package/dist/server/modules/statuses/controllers/statuses.controller.js +8 -10
  809. package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -1
  810. package/dist/server/modules/statuses/statuses.module.js +1 -2
  811. package/dist/server/modules/statuses/statuses.module.js.map +1 -1
  812. package/dist/server/modules/storage/db/db-file-permissions.d.ts +1 -0
  813. package/dist/server/modules/storage/db/db-file-permissions.js +24 -0
  814. package/dist/server/modules/storage/db/db-file-permissions.js.map +1 -0
  815. package/dist/server/modules/storage/db/db.provider.js +2 -0
  816. package/dist/server/modules/storage/db/db.provider.js.map +1 -1
  817. package/dist/server/modules/storage/db/migrate.js +2 -0
  818. package/dist/server/modules/storage/db/migrate.js.map +1 -1
  819. package/dist/server/modules/storage/db/schema.d.ts +2 -2
  820. package/dist/server/modules/storage/db/schema.js +2 -0
  821. package/dist/server/modules/storage/db/schema.js.map +1 -1
  822. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +0 -1
  823. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  824. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.d.ts +2 -2
  825. package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js.map +1 -1
  826. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +2 -2
  827. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -1
  828. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +5 -6
  829. package/dist/server/modules/storage/local/delegates/epic.delegate.js +3 -9
  830. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  831. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.d.ts +16 -15
  832. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js +13 -13
  833. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js.map +1 -1
  834. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.d.ts +11 -10
  835. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js +9 -9
  836. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js.map +1 -1
  837. package/dist/server/modules/storage/local/delegates/guest.delegate.d.ts +2 -1
  838. package/dist/server/modules/storage/local/delegates/guest.delegate.js.map +1 -1
  839. package/dist/server/modules/storage/local/delegates/integration.delegate.d.ts +3 -4
  840. package/dist/server/modules/storage/local/delegates/integration.delegate.js +1 -1
  841. package/dist/server/modules/storage/local/delegates/integration.delegate.js.map +1 -1
  842. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.d.ts +3 -16
  843. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js.map +1 -1
  844. package/dist/server/modules/storage/local/delegates/project-host.delegate.d.ts +2 -2
  845. package/dist/server/modules/storage/local/delegates/project-host.delegate.js.map +1 -1
  846. package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.d.ts +2 -2
  847. package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.js +1 -1
  848. package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.js.map +1 -1
  849. package/dist/server/modules/storage/local/delegates/project-replica.delegate.d.ts +2 -2
  850. package/dist/server/modules/storage/local/delegates/project-replica.delegate.js.map +1 -1
  851. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.d.ts +2 -1
  852. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js.map +1 -1
  853. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +4 -2
  854. package/dist/server/modules/storage/local/delegates/project.delegate.js +4 -0
  855. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  856. package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +3 -2
  857. package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -1
  858. package/dist/server/modules/storage/local/delegates/provider-auth.delegate.d.ts +2 -1
  859. package/dist/server/modules/storage/local/delegates/provider-auth.delegate.js.map +1 -1
  860. package/dist/server/modules/storage/local/delegates/provider-effort.delegate.d.ts +2 -1
  861. package/dist/server/modules/storage/local/delegates/provider-effort.delegate.js.map +1 -1
  862. package/dist/server/modules/storage/local/delegates/provider-model.delegate.d.ts +2 -1
  863. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js.map +1 -1
  864. package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.d.ts +2 -1
  865. package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.js.map +1 -1
  866. package/dist/server/modules/storage/local/delegates/provider.delegate.d.ts +3 -3
  867. package/dist/server/modules/storage/local/delegates/provider.delegate.js +9 -23
  868. package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -1
  869. package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +2 -2
  870. package/dist/server/modules/storage/local/delegates/remote.delegate.d.ts +2 -2
  871. package/dist/server/modules/storage/local/delegates/remote.delegate.js.map +1 -1
  872. package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +2 -2
  873. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
  874. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.d.ts +2 -2
  875. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js.map +1 -1
  876. package/dist/server/modules/storage/local/delegates/session.delegate.d.ts +2 -1
  877. package/dist/server/modules/storage/local/delegates/session.delegate.js.map +1 -1
  878. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +7 -3
  879. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +24 -11
  880. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
  881. package/dist/server/modules/storage/local/delegates/status.delegate.d.ts +2 -2
  882. package/dist/server/modules/storage/local/delegates/subscriber.delegate.d.ts +2 -1
  883. package/dist/server/modules/storage/local/delegates/subscriber.delegate.js.map +1 -1
  884. package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +2 -2
  885. package/dist/server/modules/storage/local/delegates/watcher.delegate.d.ts +2 -1
  886. package/dist/server/modules/storage/local/delegates/watcher.delegate.js.map +1 -1
  887. package/dist/server/modules/storage/local/helpers/device-revocation-history.js.map +1 -0
  888. package/dist/server/modules/storage/local/local-storage.service.d.ts +6 -361
  889. package/dist/server/modules/storage/local/local-storage.service.js +119 -908
  890. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  891. package/dist/server/modules/storage/local/storage-routes.d.ts +1170 -0
  892. package/dist/server/modules/storage/local/storage-routes.js +465 -0
  893. package/dist/server/modules/storage/local/storage-routes.js.map +1 -0
  894. package/dist/server/modules/storage/models/domain.models.d.ts +1 -1
  895. package/dist/server/modules/storage/models/domain.models.js +2 -0
  896. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  897. package/dist/server/modules/storage/sessions/session-row.store.d.ts +42 -0
  898. package/dist/server/modules/storage/sessions/session-row.store.js +383 -0
  899. package/dist/server/modules/storage/sessions/session-row.store.js.map +1 -0
  900. package/dist/server/modules/storage/sessions/session-rows.module.d.ts +2 -0
  901. package/dist/server/modules/storage/sessions/session-rows.module.js +19 -0
  902. package/dist/server/modules/storage/sessions/session-rows.module.js.map +1 -0
  903. package/dist/server/modules/storage/sessions/session-transcript.types.d.ts +45 -0
  904. package/dist/server/modules/storage/sessions/session-transcript.types.js +3 -0
  905. package/dist/server/modules/storage/sessions/session-transcript.types.js.map +1 -0
  906. package/dist/server/modules/storage/storage.module.d.ts +3 -0
  907. package/dist/server/modules/storage/storage.module.js +15 -2
  908. package/dist/server/modules/storage/storage.module.js.map +1 -1
  909. package/dist/server/modules/storage/write-gate/project-write-gate.d.ts +32 -0
  910. package/dist/server/modules/storage/write-gate/project-write-gate.js +117 -0
  911. package/dist/server/modules/storage/write-gate/project-write-gate.js.map +1 -0
  912. package/dist/server/modules/storage/write-gate/storage-write-scope.d.ts +45 -0
  913. package/dist/server/modules/storage/write-gate/storage-write-scope.js +103 -0
  914. package/dist/server/modules/storage/write-gate/storage-write-scope.js.map +1 -0
  915. package/dist/server/modules/storage/write-gate/testing/project-write-gate.stub.d.ts +3 -0
  916. package/dist/server/modules/storage/write-gate/testing/project-write-gate.stub.js +13 -0
  917. package/dist/server/modules/storage/write-gate/testing/project-write-gate.stub.js.map +1 -0
  918. package/dist/server/modules/subscribers/actions/action.interface.d.ts +2 -2
  919. package/dist/server/modules/subscribers/actions/terminate-session.action.d.ts +7 -0
  920. package/dist/server/modules/subscribers/actions/terminate-session.action.js +58 -6
  921. package/dist/server/modules/subscribers/actions/terminate-session.action.js.map +1 -1
  922. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +5 -4
  923. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +6 -6
  924. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  925. package/dist/server/modules/subscribers/services/subscribers.service.d.ts +1 -3
  926. package/dist/server/modules/subscribers/services/subscribers.service.js +2 -8
  927. package/dist/server/modules/subscribers/services/subscribers.service.js.map +1 -1
  928. package/dist/server/modules/subscribers/subscribers.module.js +0 -2
  929. package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
  930. package/dist/server/modules/teams/controllers/teams.controller.d.ts +2 -2
  931. package/dist/server/modules/teams/controllers/teams.controller.js.map +1 -1
  932. package/dist/server/modules/teams/services/teams.service.d.ts +4 -4
  933. package/dist/server/modules/teams/services/teams.service.js +8 -18
  934. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  935. package/dist/server/modules/teams/services/teams.validators.d.ts +4 -4
  936. package/dist/server/modules/teams/services/teams.validators.js.map +1 -1
  937. package/dist/server/modules/teams/storage/teams.store.d.ts +4 -1
  938. package/dist/server/modules/teams/storage/teams.store.js +20 -2
  939. package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
  940. package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.d.ts +2 -2
  941. package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.js +2 -2
  942. package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.js.map +1 -1
  943. package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js +3 -3
  944. package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js.map +1 -1
  945. package/dist/server/modules/teams/teams.module.js +1 -8
  946. package/dist/server/modules/teams/teams.module.js.map +1 -1
  947. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +10 -29
  948. package/dist/server/modules/terminal/gateways/terminal.gateway.js +40 -89
  949. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  950. package/dist/server/modules/terminal/services/guest-delivery.service.js +1 -0
  951. package/dist/server/modules/terminal/services/guest-delivery.service.js.map +1 -1
  952. package/dist/server/modules/terminal/services/human-prompt-input.service.d.ts +30 -0
  953. package/dist/server/modules/terminal/services/human-prompt-input.service.js +69 -0
  954. package/dist/server/modules/terminal/services/human-prompt-input.service.js.map +1 -0
  955. package/dist/server/modules/terminal/services/human-prompt-state.service.js +3 -2
  956. package/dist/server/modules/terminal/services/human-prompt-state.service.js.map +1 -1
  957. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.d.ts +6 -0
  958. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js +23 -1
  959. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js.map +1 -1
  960. package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +4 -3
  961. package/dist/server/modules/terminal/services/terminal-activity.service.js +26 -47
  962. package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -1
  963. package/dist/server/modules/terminal/services/terminal-delivery.types.d.ts +1 -1
  964. package/dist/server/modules/terminal/services/terminal-io/delivery.d.ts +9 -3
  965. package/dist/server/modules/terminal/services/terminal-io/delivery.js +65 -28
  966. package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -1
  967. package/dist/server/modules/terminal/services/terminal-io/foreground.d.ts +7 -0
  968. package/dist/server/modules/terminal/services/terminal-io/foreground.js +35 -0
  969. package/dist/server/modules/terminal/services/terminal-io/foreground.js.map +1 -0
  970. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js +15 -3
  971. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js.map +1 -1
  972. package/dist/server/modules/terminal/services/terminal-io/monitoring.d.ts +3 -0
  973. package/dist/server/modules/terminal/services/terminal-io/monitoring.js +36 -0
  974. package/dist/server/modules/terminal/services/terminal-io/monitoring.js.map +1 -1
  975. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +3 -0
  976. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +80 -19
  977. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
  978. package/dist/server/modules/terminal/services/terminal-io/types.d.ts +1 -0
  979. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.d.ts +6 -11
  980. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js +12 -43
  981. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js.map +1 -1
  982. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +1 -1
  983. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -1
  984. package/dist/server/modules/terminal/services/terminal-seed.service.js +0 -4
  985. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
  986. package/dist/server/modules/terminal/terminal-delivery.module.js +3 -0
  987. package/dist/server/modules/terminal/terminal-delivery.module.js.map +1 -1
  988. package/dist/server/modules/terminal/terminal.module.js +2 -0
  989. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  990. package/dist/server/modules/terminal/utils/ansi-sanitizer.d.ts +0 -1
  991. package/dist/server/modules/terminal/utils/ansi-sanitizer.js +0 -4
  992. package/dist/server/modules/terminal/utils/ansi-sanitizer.js.map +1 -1
  993. package/dist/server/modules/watchers/services/watcher-runner.service.d.ts +2 -2
  994. package/dist/server/modules/watchers/services/watcher-runner.service.js +0 -3
  995. package/dist/server/modules/watchers/services/watcher-runner.service.js.map +1 -1
  996. package/dist/server/modules/watchers/services/watchers.service.d.ts +3 -3
  997. package/dist/server/modules/watchers/services/watchers.service.js +6 -9
  998. package/dist/server/modules/watchers/services/watchers.service.js.map +1 -1
  999. package/dist/server/modules/watchers/watchers.module.js +1 -8
  1000. package/dist/server/modules/watchers/watchers.module.js.map +1 -1
  1001. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.d.ts +2 -2
  1002. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js.map +1 -1
  1003. package/dist/server/modules/workspaces/services/workspaces.service.d.ts +3 -3
  1004. package/dist/server/modules/workspaces/services/workspaces.service.js +7 -7
  1005. package/dist/server/modules/workspaces/services/workspaces.service.js.map +1 -1
  1006. package/dist/server/modules/workspaces/workspaces.module.js +1 -2
  1007. package/dist/server/modules/workspaces/workspaces.module.js.map +1 -1
  1008. package/dist/server/templates/teams-dev.json +277 -261
  1009. package/dist/server/test-setup-node.js +4 -3
  1010. package/dist/server/test-setup-node.js.map +1 -1
  1011. package/dist/server/test-setup.js +7 -0
  1012. package/dist/server/test-setup.js.map +1 -1
  1013. package/dist/server/tsconfig.build.tsbuildinfo +1 -0
  1014. package/dist/server/ui/assets/{ExternalRichEditor-DtNvrV0F.js → ExternalRichEditor-CB-LjWox.js} +24 -24
  1015. package/dist/server/ui/assets/ReviewDetailPage-CpMMjYet.js +6 -0
  1016. package/dist/server/ui/assets/ReviewsPage-Cw17_agp.js +6 -0
  1017. package/dist/server/ui/assets/index-BwuNu70G.css +32 -0
  1018. package/dist/server/ui/assets/index-DmRXRpSy.js +1192 -0
  1019. package/dist/server/ui/assets/useReviewSubscription-wd5iHNQy.js +69 -0
  1020. package/dist/server/ui/index.html +2 -2
  1021. package/dist/templates/teams-dev.json +277 -261
  1022. package/package.json +18 -347
  1023. package/dist/server/common/test/remote-project.fixture.d.ts +0 -32
  1024. package/dist/server/common/test/remote-project.fixture.js +0 -328
  1025. package/dist/server/common/test/remote-project.fixture.js.map +0 -1
  1026. package/dist/server/common/test/two-instance.fixture.d.ts +0 -48
  1027. package/dist/server/common/test/two-instance.fixture.js +0 -269
  1028. package/dist/server/common/test/two-instance.fixture.js.map +0 -1
  1029. package/dist/server/modules/e2ee/services/device-revocation-history.js.map +0 -1
  1030. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +0 -5
  1031. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +0 -8
  1032. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +0 -1
  1033. package/dist/server/modules/reviews/utils/notification-formatter.d.ts +0 -12
  1034. package/dist/server/modules/reviews/utils/notification-formatter.js +0 -60
  1035. package/dist/server/modules/reviews/utils/notification-formatter.js.map +0 -1
  1036. package/dist/server/modules/session-reader/services/transcript-turn-state.d.ts +0 -4
  1037. package/dist/server/modules/session-reader/services/transcript-turn-state.js +0 -20
  1038. package/dist/server/modules/session-reader/services/transcript-turn-state.js.map +0 -1
  1039. package/dist/server/modules/sessions/dtos/active-session-info.dto.js.map +0 -1
  1040. package/dist/server/modules/sessions/utils/claude-config.js.map +0 -1
  1041. package/dist/server/modules/sessions/utils/codex-config.js.map +0 -1
  1042. package/dist/server/modules/sessions/utils/env-builder.js.map +0 -1
  1043. package/dist/server/modules/sessions/utils/profile-options.js.map +0 -1
  1044. package/dist/server/modules/terminal/services/session-turn-signals.js.map +0 -1
  1045. package/dist/server/tsconfig.tsbuildinfo +0 -1
  1046. package/dist/server/ui/assets/ReviewDetailPage-DJzEoM0x.js +0 -6
  1047. package/dist/server/ui/assets/ReviewsPage-z2O8MNEw.js +0 -6
  1048. package/dist/server/ui/assets/index-CC4P3V8L.js +0 -994
  1049. package/dist/server/ui/assets/index-LsJe1ZTS.css +0 -32
  1050. package/dist/server/ui/assets/useReviewSubscription-B7AdJBO2.js +0 -69
  1051. /package/dist/server/modules/{terminal/services → events/signals}/session-turn-signals.d.ts +0 -0
  1052. /package/dist/server/modules/{terminal/services → events/signals}/session-turn-signals.js +0 -0
  1053. /package/dist/server/modules/{sessions → providers}/utils/claude-config.d.ts +0 -0
  1054. /package/dist/server/modules/{sessions → providers}/utils/claude-config.js +0 -0
  1055. /package/dist/server/modules/{sessions → providers}/utils/codex-config.d.ts +0 -0
  1056. /package/dist/server/modules/{sessions → providers}/utils/codex-config.js +0 -0
  1057. /package/dist/server/modules/{sessions → providers}/utils/env-builder.d.ts +0 -0
  1058. /package/dist/server/modules/{sessions → providers}/utils/env-builder.js +0 -0
  1059. /package/dist/server/modules/{sessions → providers}/utils/profile-options.js +0 -0
  1060. /package/dist/server/modules/{sessions → session-terminal-runtime}/dtos/active-session-info.dto.d.ts +0 -0
  1061. /package/dist/server/modules/{sessions → session-terminal-runtime}/dtos/active-session-info.dto.js +0 -0
  1062. /package/dist/server/modules/{e2ee/services → storage/local/helpers}/device-revocation-history.d.ts +0 -0
  1063. /package/dist/server/modules/{e2ee/services → storage/local/helpers}/device-revocation-history.js +0 -0
@@ -14,80 +14,47 @@ 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 storage_interface_1 = require("../../storage/interfaces/storage.interface");
20
22
  const docker_engine_client_1 = require("../../core/controllers/docker-engine.client");
21
23
  const host_docker_dto_1 = require("../host/host-docker.dto");
22
24
  const transcript_files_service_1 = require("../transcripts/transcript-files.service");
23
25
  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 shared_2 = require("@devchain/shared");
27
- const env_config_1 = require("../../../common/config/env.config");
28
- const error_types_1 = require("../../../common/errors/error-types");
29
- const storage_interface_1 = require("../../storage/interfaces/storage.interface");
30
- const project_time_settler_service_1 = require("../time/project-time-settler.service");
31
- const file_sync_dto_1 = require("../../file-sync/file-sync.dto");
32
- const file_sync_service_1 = require("../../file-sync/file-sync.service");
33
- const docker_runtime_1 = require("../../core/controllers/docker-runtime");
34
- const host_helper_service_1 = require("../host/host-helper.service");
35
- const remote_address_1 = require("../remote-address");
26
+ const remote_api_key_service_1 = require("../auth/remote-api-key.service");
36
27
  const remote_tls_1 = require("../transport/remote-tls");
37
28
  const remote_discovery_1 = require("../transport/remote-discovery");
38
- const CONTROL_TIMEOUT_MS = 15_000;
39
- const REPLICA_TIMEOUT_MS = 120_000;
40
- const RUNTIME_TIMEOUT_MS = 5_000;
41
- const CLAIM_TIMEOUT_MS = 45 * 60_000;
42
- const VERIFY_TIMEOUT_MS = 100_000;
43
- const HostRuntimeSchema = zod_1.z
44
- .object({
45
- state: zod_1.z.string().optional(),
46
- bootId: zod_1.z.string().optional(),
47
- docker: docker_runtime_1.DockerRuntimeSchema.optional(),
48
- version: zod_1.z.string().nullable().optional(),
49
- homePath: zod_1.z.string().nullable().optional(),
50
- uid: zod_1.z.number().nullable().optional(),
51
- gid: zod_1.z.number().nullable().optional(),
52
- imageVersion: zod_1.z.string().nullable().optional(),
53
- cliVersions: zod_1.z.record(zod_1.z.string()).nullable().optional(),
54
- })
55
- .passthrough();
56
- const HostProviderVerifySchema = zod_1.z.object({
57
- ok: zod_1.z.boolean(),
58
- summary: zod_1.z.string(),
59
- hint: zod_1.z.string().nullable(),
60
- });
61
- const HostUpdateStatusBodySchema = zod_1.z.object({
62
- status: host_helper_service_1.HostUpdateStatusSchema.omit({ at: true }).passthrough().nullable(),
63
- });
64
- const FrozenProjectSchema = zod_1.z.object({
65
- projectId: zod_1.z.string(),
66
- frozenAt: zod_1.z.string(),
67
- });
68
- const EpicIdSchema = zod_1.z.object({ epicId: zod_1.z.string().min(1) });
69
- const CreatedEpicSchema = zod_1.z.object({ id: zod_1.z.string().min(1) });
70
- class RemoteHostRequestError extends error_types_1.AppError {
71
- constructor(message, details) {
72
- super(message, 'REMOTE_HOST_REQUEST_FAILED', 502, details);
73
- }
74
- get status() {
75
- return this.details?.status ?? null;
76
- }
77
- }
78
- exports.RemoteHostRequestError = RemoteHostRequestError;
29
+ const host_routes_1 = require("../contract/host-routes");
30
+ const host_transport_1 = require("../transport/host-transport");
31
+ var host_transport_2 = require("../transport/host-transport");
32
+ Object.defineProperty(exports, "RemoteHostRequestError", { enumerable: true, get: function () { return host_transport_2.RemoteHostRequestError; } });
79
33
  let RemoteHostClient = class RemoteHostClient {
80
34
  storage;
81
35
  apiKeys;
82
- constructor(storage, apiKeys) {
36
+ runtimeTimeoutMs;
37
+ constructor(storage, apiKeys, runtimeTimeoutMs = host_routes_1.RUNTIME_TIMEOUT_MS) {
83
38
  this.storage = storage;
84
39
  this.apiKeys = apiKeys;
40
+ this.runtimeTimeoutMs = runtimeTimeoutMs;
85
41
  }
86
- async dockerClient(remoteId, options) {
42
+ async target(remoteId) {
87
43
  const remote = await this.storage.getRemote(remoteId);
88
- const { baseUrl, certificate } = (0, remote_tls_1.requireRemoteTls)(remote);
44
+ return {
45
+ ...(0, remote_tls_1.requireRemoteTls)(remote),
46
+ apiKey: await this.apiKeys.get(remoteId),
47
+ label: `Remote "${remote.name}"`,
48
+ remoteId,
49
+ };
50
+ }
51
+ async call(remoteId, route, params, options) {
52
+ return (0, host_transport_1.send)(await this.target(remoteId), route, params, options);
53
+ }
54
+ async dockerClient(remoteId, options) {
55
+ const { baseUrl, certificate, apiKey } = await this.target(remoteId);
89
56
  return docker_engine_client_1.DockerEngineClient.forHttp(baseUrl, (0, remote_tls_1.pinnedTlsOptions)(certificate), {
90
- ...(await this.apiKeys.headers(remoteId)),
57
+ ...(0, remote_api_key_service_1.remoteAuthorization)(apiKey),
91
58
  ...(options.apiVersion ? { [host_docker_dto_1.DOCKER_API_VERSION_HEADER]: options.apiVersion } : {}),
92
59
  });
93
60
  }
@@ -96,10 +63,12 @@ let RemoteHostClient = class RemoteHostClient {
96
63
  return await action(await this.dockerClient(remoteId, options));
97
64
  }
98
65
  catch (error) {
99
- throw new RemoteHostRequestError('Docker host request failed', {
66
+ const status = error instanceof docker_engine_client_1.DockerEngineError ? (error.status ?? null) : null;
67
+ const reason = error instanceof docker_engine_client_1.DockerEngineError ? error.reason : undefined;
68
+ throw new host_transport_1.RemoteHostRequestError(`Docker host request failed${status ? ` (HTTP ${status})` : ''}${reason ? `: ${reason}` : ''}`, {
100
69
  remoteId,
101
70
  path: '/api/host/docker',
102
- status: error instanceof docker_engine_client_1.DockerEngineError ? (error.status ?? null) : null,
71
+ status,
103
72
  hostCode: error instanceof docker_engine_client_1.DockerEngineError ? error.code : null,
104
73
  });
105
74
  }
@@ -107,8 +76,8 @@ let RemoteHostClient = class RemoteHostClient {
107
76
  dockerJson(remoteId, method, path, body, options) {
108
77
  return this.dockerCall(remoteId, options, (client) => client.json(method, path, body, { signal: options.signal }));
109
78
  }
110
- dockerScan(remoteId, paths, options = {}, volumes) {
111
- return this.dockerJson(remoteId, 'POST', '/api/host/docker/scan', { paths, ...(volumes && { volumes }) }, options);
79
+ dockerScan(remoteId, paths, options = {}, volumes, networks) {
80
+ return this.dockerJson(remoteId, 'POST', '/api/host/docker/scan', { paths, ...(volumes && { volumes }), ...(networks && { networks }) }, options);
112
81
  }
113
82
  dockerCapacity(remoteId, paths, options = {}) {
114
83
  return this.dockerJson(remoteId, 'POST', '/api/host/docker/capacity', { paths }, options);
@@ -116,6 +85,11 @@ let RemoteHostClient = class RemoteHostClient {
116
85
  dockerImagesPresent(remoteId, ids, options = {}) {
117
86
  return this.dockerJson(remoteId, 'POST', '/api/host/docker/images/present', { ids }, options);
118
87
  }
88
+ async dockerMatchImages(remoteId, refs, options = {}) {
89
+ const path = '/api/host/docker/images/match';
90
+ const answer = await this.dockerJson(remoteId, 'POST', path, { refs }, options);
91
+ return checkDockerAnswer(host_docker_dto_1.DockerImageMatchResultSchema, answer, remoteId, path);
92
+ }
119
93
  dockerCreateVolume(remoteId, input, options = {}) {
120
94
  return this.dockerJson(remoteId, 'POST', '/api/host/docker/volumes', input, options);
121
95
  }
@@ -129,7 +103,7 @@ let RemoteHostClient = class RemoteHostClient {
129
103
  return this.dockerJson(remoteId, 'GET', `/api/host/docker/volumes/${enc(name)}/holders`, undefined, options);
130
104
  }
131
105
  dockerDelete(remoteId, kind, id, projectId, options = {}) {
132
- return this.dockerJson(remoteId, 'DELETE', `/api/host/docker/${kind}/${enc(id)}?${new URLSearchParams({ projectId })}`, undefined, options);
106
+ return this.dockerJson(remoteId, 'DELETE', `/api/host/docker/${kind}/${enc(id)}?${new URLSearchParams({ projectId, ...(options.projectRoot !== undefined ? { projectRoot: options.projectRoot } : {}) })}`, undefined, options);
133
107
  }
134
108
  dockerSaveImage(remoteId, id, options = {}) {
135
109
  return this.dockerCall(remoteId, options, (client) => client.stream('GET', `/api/host/docker/images/${enc(id)}/archive`, {
@@ -148,7 +122,7 @@ let RemoteHostClient = class RemoteHostClient {
148
122
  return { archive, sha256: () => sha256 };
149
123
  }
150
124
  dockerStopContainer(remoteId, id, projectId, options = {}) {
151
- return this.dockerJson(remoteId, 'POST', `/api/host/docker/containers/${enc(id)}/stop?${new URLSearchParams({ projectId })}`, undefined, options);
125
+ return this.dockerJson(remoteId, 'POST', `/api/host/docker/containers/${enc(id)}/stop?${new URLSearchParams({ projectId, ...(options.projectRoot !== undefined ? { projectRoot: options.projectRoot } : {}) })}`, undefined, options);
152
126
  }
153
127
  async dockerLoadImage(remoteId, body, options = {}) {
154
128
  const path = '/api/host/docker/images/load';
@@ -192,15 +166,10 @@ let RemoteHostClient = class RemoteHostClient {
192
166
  return this.dockerJson(remoteId, 'GET', '/api/host/docker/version', undefined, options);
193
167
  }
194
168
  async listTranscripts(remoteId, refs) {
195
- const response = await this.request(remoteId, '/api/host/transcripts/list', {
196
- method: 'POST',
197
- body: JSON.stringify({ refs }),
198
- expect: [200],
199
- });
200
- return parseBody(transcript_transfer_dto_1.TranscriptListingSchema, response, remoteId, '/api/host/transcripts/list');
169
+ return (await this.call(remoteId, host_routes_1.hostRoutes.listTranscripts, {}, { body: { refs } })).body;
201
170
  }
202
171
  async uploadTranscript(remoteId, file, files, signal) {
203
- await this.transferTranscript(remoteId, file, signal, async (send, transferSignal) => {
172
+ await this.transferTranscript(remoteId, file, signal, async (fetchTranscript, transferSignal) => {
204
173
  const { stream, size } = await files.read(file);
205
174
  try {
206
175
  (0, transcript_files_service_1.assertTranscriptSize)(size);
@@ -210,18 +179,17 @@ let RemoteHostClient = class RemoteHostClient {
210
179
  duplex: 'half',
211
180
  signal: transferSignal,
212
181
  headers: {
213
- ...(await this.apiKeys.headers(remoteId)),
214
182
  'content-type': 'application/octet-stream',
215
183
  'content-length': String(size),
216
184
  },
217
185
  };
218
- const response = await send(init);
186
+ const response = await fetchTranscript(init);
219
187
  try {
220
188
  if (response.status !== 204)
221
189
  throw new Error(`Transcript upload answered ${response.status}`);
222
190
  }
223
191
  finally {
224
- await discardBody(response);
192
+ await (0, host_transport_1.discardBody)(response);
225
193
  }
226
194
  }
227
195
  finally {
@@ -230,10 +198,9 @@ let RemoteHostClient = class RemoteHostClient {
230
198
  });
231
199
  }
232
200
  async downloadTranscript(remoteId, file, files, signal) {
233
- await this.transferTranscript(remoteId, file, signal, async (send, transferSignal) => {
234
- const response = await send({
201
+ await this.transferTranscript(remoteId, file, signal, async (fetchTranscript, transferSignal) => {
202
+ const response = await fetchTranscript({
235
203
  signal: transferSignal,
236
- headers: await this.apiKeys.headers(remoteId),
237
204
  });
238
205
  try {
239
206
  if (response.status !== 200)
@@ -252,12 +219,12 @@ let RemoteHostClient = class RemoteHostClient {
252
219
  }
253
220
  }
254
221
  finally {
255
- await discardBody(response);
222
+ await (0, host_transport_1.discardBody)(response);
256
223
  }
257
224
  });
258
225
  }
259
226
  async transferTranscript(remoteId, file, signal, transfer) {
260
- const { baseUrl, certificate } = (0, remote_tls_1.requireRemoteTls)(await this.storage.getRemote(remoteId));
227
+ const { baseUrl, certificate, apiKey } = await this.target(remoteId);
261
228
  const path = `/api/host/transcripts?${new URLSearchParams(file).toString()}`;
262
229
  const controller = new AbortController();
263
230
  const abort = () => controller.abort();
@@ -269,10 +236,16 @@ let RemoteHostClient = class RemoteHostClient {
269
236
  try {
270
237
  controller.signal.throwIfAborted();
271
238
  const url = `${baseUrl.replace(/\/+$/, '')}${path}`;
272
- await transfer((init) => (0, remote_tls_1.remoteFetch)(url, init, certificate), controller.signal);
239
+ await transfer((init) => (0, remote_tls_1.remoteFetch)(url, {
240
+ ...init,
241
+ headers: {
242
+ ...(0, remote_api_key_service_1.remoteAuthorization)(apiKey),
243
+ ...init.headers,
244
+ },
245
+ }, certificate), controller.signal);
273
246
  }
274
247
  catch (error) {
275
- throw new RemoteHostRequestError(`Transcript transfer failed: ${error instanceof Error ? error.message : String(error)}`, { remoteId, path, status: null, hostCode: null });
248
+ throw new host_transport_1.RemoteHostRequestError(`Transcript transfer failed: ${error instanceof Error ? error.message : String(error)}`, { remoteId, path, status: null, hostCode: null });
276
249
  }
277
250
  finally {
278
251
  clearTimeout(timer);
@@ -280,48 +253,33 @@ let RemoteHostClient = class RemoteHostClient {
280
253
  }
281
254
  }
282
255
  async projectExists(remoteId, projectId) {
283
- const response = await this.request(remoteId, `/api/projects/${enc(projectId)}`, {
284
- method: 'GET',
285
- expect: [200, 404],
286
- });
287
- await discardBody(response);
256
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.projectExists, { projectId });
288
257
  return response.status === 200;
289
258
  }
290
259
  async importProject(remoteId, replica) {
291
- const response = await this.request(remoteId, '/api/host/projects/import', {
292
- method: 'POST',
293
- body: JSON.stringify(replica),
294
- contentType: shared_2.PROJECT_REPLICA_CONTENT_TYPE,
295
- timeoutMs: REPLICA_TIMEOUT_MS,
296
- expect: [201, 409],
297
- });
260
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.importProject, {}, { body: replica });
298
261
  if (response.status === 409) {
299
- const code = await readErrorCode(response);
262
+ const code = response.body;
300
263
  if (code !== 'PROJECT_EXISTS') {
301
- throw new RemoteHostRequestError('Host refused the project import.', {
264
+ throw new host_transport_1.RemoteHostRequestError('Host refused the project import.', {
302
265
  remoteId,
303
- path: '/api/host/projects/import',
266
+ path: host_routes_1.hostRoutes.importProject.path({}),
304
267
  status: 409,
305
268
  hostCode: code,
306
269
  });
307
270
  }
308
271
  return { imported: false, reason: 'PROJECT_EXISTS' };
309
272
  }
310
- const result = shared_2.ProjectReplicaImportResultSchema.parse(await response.json());
311
- return { imported: true, cursor: result.cursor };
273
+ return { imported: true, cursor: response.body.cursor };
312
274
  }
313
275
  async exportReplica(remoteId, projectId, scope) {
314
- const path = `/api/host/projects/${enc(projectId)}/replica?scope=${scope}`;
315
- const response = await this.request(remoteId, path, {
316
- method: 'GET',
317
- timeoutMs: REPLICA_TIMEOUT_MS,
318
- expect: [200],
319
- });
320
- const replica = shared_2.ProjectReplicaV1Schema.parse(await response.json());
276
+ const params = { projectId, scope };
277
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.exportReplica, params);
278
+ const replica = response.body;
321
279
  if (replica.scope !== scope) {
322
- throw new RemoteHostRequestError('Host returned a replica of the wrong scope.', {
280
+ throw new host_transport_1.RemoteHostRequestError('Host returned a replica of the wrong scope.', {
323
281
  remoteId,
324
- path,
282
+ path: host_routes_1.hostRoutes.exportReplica.path(params),
325
283
  status: response.status,
326
284
  hostCode: null,
327
285
  });
@@ -329,157 +287,120 @@ let RemoteHostClient = class RemoteHostClient {
329
287
  return replica;
330
288
  }
331
289
  async changes(remoteId, projectId, options) {
332
- const query = new URLSearchParams();
333
- if (options.since)
334
- query.set('since', options.since);
335
- if (options.full)
336
- query.set('full', 'true');
337
- const queryString = query.toString();
338
- const suffix = queryString ? `?${queryString}` : '';
339
- const response = await this.request(remoteId, `/api/host/projects/${enc(projectId)}/changes${suffix}`, { method: 'GET', timeoutMs: REPLICA_TIMEOUT_MS, expect: [200] });
340
- return shared_2.ProjectReplicaChangesSchema.parse(await response.json());
290
+ return (await this.call(remoteId, host_routes_1.hostRoutes.changes, { projectId, ...options })).body;
341
291
  }
342
292
  async freeze(remoteId, projectId) {
343
- const path = `/api/host/projects/${enc(projectId)}/freeze`;
344
- const response = await this.request(remoteId, path, {
345
- method: 'POST',
346
- expect: [200],
347
- });
348
- const body = await response.json().catch(() => null);
349
- const parsed = FrozenProjectSchema.safeParse(body);
350
- if (!parsed.success) {
351
- throw new RemoteHostRequestError('Host returned an invalid freeze answer.', {
352
- remoteId,
353
- path,
354
- status: response.status,
355
- hostCode: null,
356
- });
357
- }
358
- return parsed.data;
293
+ return (await this.call(remoteId, host_routes_1.hostRoutes.freeze, { projectId })).body;
294
+ }
295
+ async installGitGuard(remoteId, projectId, request) {
296
+ return (await this.call(remoteId, host_routes_1.hostRoutes.installGitGuard, { projectId }, { body: request }))
297
+ .body;
298
+ }
299
+ async removeGitGuard(remoteId, projectId, options = {}) {
300
+ return (await this.call(remoteId, host_routes_1.hostRoutes.removeGitGuard, { projectId }, {
301
+ ...(options.refreshIndex !== undefined && {
302
+ body: { refreshIndex: options.refreshIndex },
303
+ }),
304
+ ...(options.refreshIndex && { timeoutMs: host_routes_1.REPLICA_TIMEOUT_MS }),
305
+ })).body;
306
+ }
307
+ async refreshGitIndex(remoteId, projectId, since) {
308
+ return (await this.call(remoteId, host_routes_1.hostRoutes.refreshGitIndex, { projectId }, { body: { since } })).body;
359
309
  }
360
310
  async thaw(remoteId, projectId) {
361
- const response = await this.request(remoteId, `/api/host/projects/${enc(projectId)}/thaw`, {
362
- method: 'POST',
363
- expect: [204],
364
- });
365
- await discardBody(response);
311
+ await this.call(remoteId, host_routes_1.hostRoutes.thaw, { projectId });
312
+ }
313
+ async listSessions(remoteId, projectId, options = {}) {
314
+ return (await this.call(remoteId, host_routes_1.hostRoutes.listSessions, { projectId }, options)).body;
366
315
  }
367
316
  async stopSessions(remoteId, projectId) {
368
- const response = await this.request(remoteId, `/api/host/projects/${enc(projectId)}/stop-sessions`, { method: 'POST', expect: [204] });
369
- await discardBody(response);
317
+ await this.call(remoteId, host_routes_1.hostRoutes.stopSessions, { projectId });
370
318
  }
371
319
  async settleTime(remoteId, projectId) {
372
- const response = await this.request(remoteId, `/api/host/projects/${enc(projectId)}/settle-time`, {
373
- method: 'POST',
374
- timeoutMs: (0, env_config_1.getEnvConfig)().REMOTES_TIME_SETTLE_TIMEOUT_MS + CONTROL_TIMEOUT_MS,
375
- expect: [200],
376
- });
377
- return project_time_settler_service_1.ProjectTimeSettlementSchema.parse(await response.json());
320
+ return (await this.call(remoteId, host_routes_1.hostRoutes.settleTime, { projectId }, {
321
+ timeoutMs: (0, env_config_1.getEnvConfig)().REMOTES_TIME_SETTLE_TIMEOUT_MS + host_routes_1.CONTROL_TIMEOUT_MS,
322
+ })).body;
378
323
  }
379
324
  async release(remoteId, projectId) {
380
- const response = await this.request(remoteId, `/api/host/projects/${enc(projectId)}/release`, {
381
- method: 'POST',
382
- expect: [204, 404],
383
- });
384
- await discardBody(response);
325
+ await this.call(remoteId, host_routes_1.hostRoutes.release, { projectId });
385
326
  }
386
327
  async findEpicByIdempotencyKey(remoteId, projectId, key) {
387
- const path = `/api/host/projects/${enc(projectId)}/epics/by-idempotency-key/${enc(key)}`;
388
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200, 404] });
389
- if (response.status === 404) {
390
- await discardBody(response);
391
- return null;
392
- }
393
- return (await parseBody(EpicIdSchema, response, remoteId, path)).epicId;
328
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.findEpicByIdempotencyKey, {
329
+ projectId,
330
+ key,
331
+ });
332
+ return response.status === 404 ? null : response.body.epicId;
394
333
  }
395
334
  async createEpic(remoteId, epic) {
396
- const path = '/api/epics';
397
- const response = await this.request(remoteId, path, {
398
- method: 'POST',
399
- body: JSON.stringify(epic),
400
- expect: [201, 423],
401
- });
335
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.createEpic, {}, { body: epic });
402
336
  if (response.status === 423) {
403
- const hostCode = await readErrorCode(response);
404
337
  throw new error_types_1.ConflictError('The remote project is locked for a handoff; try again shortly.', {
405
338
  code: 'REMOTE_PROJECT_LOCKED',
406
339
  retryable: true,
407
340
  remoteId,
408
341
  projectId: epic.projectId,
409
- hostCode,
342
+ hostCode: response.body,
410
343
  });
411
344
  }
412
- return { id: (await parseBody(CreatedEpicSchema, response, remoteId, path)).id };
345
+ return { id: response.body.id };
413
346
  }
414
347
  async syncDevice(remoteId) {
415
- const remote = await this.storage.getRemote(remoteId);
416
- const path = '/api/host/sync/device';
417
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
418
- const device = await parseBody(file_sync_dto_1.SyncDeviceSchema, response, remoteId, path);
419
- return {
420
- deviceId: device.deviceId,
421
- address: dialAddress(device.address, (0, remote_address_1.requireRemoteAddress)(remote)),
422
- };
348
+ const target = await this.target(remoteId);
349
+ const device = (await (0, host_transport_1.send)(target, host_routes_1.hostRoutes.syncDevice, {})).body;
350
+ return { deviceId: device.deviceId, address: dialAddress(device.address, target.baseUrl) };
423
351
  }
424
352
  async syncPeer(remoteId, peer) {
425
- const response = await this.request(remoteId, '/api/host/sync/peer', {
426
- method: 'POST',
427
- body: JSON.stringify(peer),
428
- expect: [204],
429
- });
430
- await discardBody(response);
353
+ await this.call(remoteId, host_routes_1.hostRoutes.syncPeer, {}, { body: peer });
431
354
  }
432
355
  async syncFolders(remoteId, folder) {
433
- const path = '/api/host/sync/folders';
434
- const response = await this.request(remoteId, path, {
435
- method: 'POST',
436
- body: JSON.stringify(folder),
437
- expect: [200],
438
- });
439
- return parseBody(file_sync_dto_1.SyncFolderSchema, response, remoteId, path);
356
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncFolders, {}, { body: folder })).body;
357
+ }
358
+ async syncForceCopyBackup(remoteId, request) {
359
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncForceCopyBackup, {}, { body: request })).body;
440
360
  }
441
361
  async syncFolderType(remoteId, folderId, patch) {
442
- const response = await this.request(remoteId, `/api/host/sync/folders/${enc(folderId)}`, {
443
- method: 'PATCH',
444
- body: JSON.stringify(patch),
445
- expect: [204],
446
- });
447
- await discardBody(response);
362
+ await this.call(remoteId, host_routes_1.hostRoutes.syncFolderType, { folderId }, { body: patch });
363
+ }
364
+ async syncFolderConfiguration(remoteId, folderId) {
365
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncFolderConfiguration, { folderId })).body;
366
+ }
367
+ async syncFolderIgnores(remoteId, folderId) {
368
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncFolderIgnores, { folderId })).body;
448
369
  }
449
370
  async syncRemoveFolder(remoteId, folderId) {
450
- const response = await this.request(remoteId, `/api/host/sync/folders/${enc(folderId)}`, {
451
- method: 'DELETE',
452
- expect: [204],
453
- });
454
- await discardBody(response);
371
+ await this.call(remoteId, host_routes_1.hostRoutes.syncRemoveFolder, { folderId });
455
372
  }
456
373
  async syncScan(remoteId, folderId) {
457
- const response = await this.request(remoteId, `/api/host/sync/folders/${enc(folderId)}/scan`, {
458
- method: 'POST',
459
- expect: [204],
460
- timeoutMs: file_sync_service_1.SCAN_TIMEOUT_MS + CONTROL_TIMEOUT_MS,
461
- });
462
- await discardBody(response);
374
+ await this.call(remoteId, host_routes_1.hostRoutes.syncScan, { folderId });
463
375
  }
464
376
  async syncRevert(remoteId, folderId) {
465
- const response = await this.request(remoteId, `/api/host/sync/folders/${enc(folderId)}/revert`, { method: 'POST', expect: [204] });
466
- await discardBody(response);
377
+ await this.call(remoteId, host_routes_1.hostRoutes.syncRevert, { folderId });
378
+ }
379
+ async syncOverride(remoteId, folderId) {
380
+ await this.call(remoteId, host_routes_1.hostRoutes.syncOverride, { folderId });
467
381
  }
468
- async syncStatus(remoteId, folderId, deviceId) {
469
- const query = new URLSearchParams({ folder: folderId });
470
- if (deviceId)
471
- query.set('device', deviceId);
472
- const path = `/api/host/sync/status?${query.toString()}`;
473
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
474
- return parseBody(file_sync_dto_1.FolderSyncStatusSchema, response, remoteId, path);
382
+ async syncLocalChanges(remoteId, folderId) {
383
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncLocalChanges, { folderId })).body;
384
+ }
385
+ async syncStatus(remoteId, folderId, deviceId, options = {}) {
386
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncStatus, {
387
+ folderId,
388
+ deviceId,
389
+ allErrors: options.allErrors,
390
+ })).body;
391
+ }
392
+ async syncFolderExists(remoteId, folderId) {
393
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.syncFolderExists, { folderId });
394
+ return response.status === 200;
395
+ }
396
+ async syncRemoteNeed(remoteId, folderId, deviceId) {
397
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncRemoteNeed, { folderId, deviceId })).body;
398
+ }
399
+ async syncInspect(remoteId, input) {
400
+ return (await this.call(remoteId, host_routes_1.hostRoutes.syncInspect, {}, { body: input })).body;
475
401
  }
476
402
  async setInstanceLabel(remoteId, label) {
477
- const response = await this.request(remoteId, '/api/cloud/instance-label', {
478
- method: 'PUT',
479
- body: JSON.stringify({ label }),
480
- expect: [200],
481
- });
482
- await discardBody(response);
403
+ await this.call(remoteId, host_routes_1.hostRoutes.setInstanceLabel, {}, { body: { label } });
483
404
  }
484
405
  async remoteRuntime(remoteId) {
485
406
  const { baseUrl, certificate } = (0, remote_tls_1.requireRemoteTls)(await this.storage.getRemote(remoteId));
@@ -489,235 +410,113 @@ let RemoteHostClient = class RemoteHostClient {
489
410
  return (0, remote_tls_1.requireRemoteCertificate)(await this.storage.getRemote(remoteId));
490
411
  }
491
412
  async runtimeAt(baseUrl, certificate) {
492
- const response = await this.fetchUrl(baseUrl, '/api/runtime', {
493
- method: 'GET',
494
- expect: [200],
495
- timeoutMs: RUNTIME_TIMEOUT_MS,
496
- label: baseUrl,
497
- certificate,
498
- });
499
- return parseBody(HostRuntimeSchema, response, baseUrl, '/api/runtime');
413
+ return (await (0, host_transport_1.send)({ baseUrl, certificate, apiKey: null, label: baseUrl }, host_routes_1.hostRoutes.runtimeAt, {}, {
414
+ timeoutMs: this.runtimeTimeoutMs,
415
+ })).body;
500
416
  }
501
417
  async discoverRuntime(origin) {
502
- const answer = await (0, remote_discovery_1.discoverRuntime)(origin, RUNTIME_TIMEOUT_MS);
503
- const parsed = HostRuntimeSchema.safeParse(answer.body);
418
+ const answer = await (0, remote_discovery_1.discoverRuntime)(origin, this.runtimeTimeoutMs);
419
+ const parsed = host_routes_1.HostRuntimeSchema.safeParse(answer.body);
504
420
  return {
505
421
  runtime: answer.status === 200 && parsed.success ? parsed.data : null,
506
422
  certificate: answer.certificate,
507
423
  };
508
424
  }
509
425
  async claim(bootstrapUrl, certificate, body, apiKey) {
510
- const response = await this.fetchUrl(bootstrapUrl, '/api/host/claim', {
511
- apiKey,
512
- certificate,
513
- method: 'POST',
514
- body: JSON.stringify(body),
515
- timeoutMs: CLAIM_TIMEOUT_MS,
516
- expect: [200, 409, 504],
517
- label: bootstrapUrl,
518
- });
519
- if (response.status === 200) {
520
- await discardBody(response);
426
+ const response = await (0, host_transport_1.send)({ baseUrl: bootstrapUrl, certificate, apiKey: apiKey ?? null, label: bootstrapUrl }, host_routes_1.hostRoutes.claim, {}, { body });
427
+ if (response.status === 200)
521
428
  return 'claimed';
522
- }
523
- const code = await readErrorCode(response);
429
+ const code = response.body;
524
430
  if (response.status === 504)
525
431
  return 'starting';
526
432
  if (code === 'ALREADY_CLAIMED')
527
433
  return 'already_claimed';
528
- throw new RemoteHostRequestError(`The VM refused the claim${code ? ` (${code})` : ''}.`, {
434
+ throw new host_transport_1.RemoteHostRequestError(`The VM refused the claim${code ? ` (${code})` : ''}.`, {
529
435
  remoteId: bootstrapUrl,
530
- path: '/api/host/claim',
436
+ path: host_routes_1.hostRoutes.claim.path({}),
531
437
  status: response.status,
532
438
  hostCode: code,
533
439
  });
534
440
  }
535
441
  async verifyProviderAuth(remoteId, provider, opencodeProviderIds) {
536
- const path = '/api/host/provider-auth/verify';
537
- const response = await this.request(remoteId, path, {
538
- method: 'POST',
539
- body: JSON.stringify({ provider, opencodeProviderIds }),
540
- timeoutMs: VERIFY_TIMEOUT_MS,
541
- expect: [200],
542
- });
543
- return parseBody(HostProviderVerifySchema, response, remoteId, path);
442
+ return (await this.call(remoteId, host_routes_1.hostRoutes.verifyProviderAuth, {}, { body: { provider, opencodeProviderIds } })).body;
544
443
  }
545
444
  async applyProviderAuth(remoteId, bundle) {
546
- const response = await this.request(remoteId, '/api/host/provider-auth', {
547
- method: 'POST',
548
- body: JSON.stringify(bundle),
549
- expect: [200],
550
- });
551
- await discardBody(response);
445
+ await this.call(remoteId, host_routes_1.hostRoutes.applyProviderAuth, {}, { body: bundle });
552
446
  }
553
447
  async applySshKeys(remoteId, keys) {
554
- const response = await this.request(remoteId, '/api/host/ssh-keys', {
555
- method: 'POST',
556
- body: JSON.stringify({ keys }),
557
- expect: [200],
558
- });
559
- await discardBody(response);
448
+ await this.call(remoteId, host_routes_1.hostRoutes.applySshKeys, {}, { body: { keys } });
560
449
  }
561
450
  async requestHostUpdate(remoteId, version) {
562
- const response = await this.request(remoteId, '/api/host/update', {
563
- method: 'POST',
564
- body: JSON.stringify({ version }),
565
- expect: [202, 409],
566
- });
567
- if (response.status === 202) {
568
- await discardBody(response);
451
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.requestHostUpdate, {}, { body: { version } });
452
+ if (response.status === 202)
569
453
  return 'started';
570
- }
571
- const code = await readErrorCode(response);
454
+ const code = response.body;
572
455
  if (code === 'UPDATE_IN_PROGRESS')
573
456
  return 'in_progress';
574
- throw new RemoteHostRequestError(`The host refused the update${code ? ` (${code})` : ''}.`, {
457
+ throw new host_transport_1.RemoteHostRequestError(`The host refused the update${code ? ` (${code})` : ''}.`, {
575
458
  remoteId,
576
- path: '/api/host/update',
459
+ path: host_routes_1.hostRoutes.requestHostUpdate.path({}),
577
460
  status: 409,
578
461
  hostCode: code,
579
462
  });
580
463
  }
581
464
  async hostUpdateStatus(remoteId) {
582
- const path = '/api/host/update';
583
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
584
- return (await parseBody(HostUpdateStatusBodySchema, response, remoteId, path)).status;
465
+ return (await this.call(remoteId, host_routes_1.hostRoutes.hostUpdateStatus, {})).body.status;
585
466
  }
586
467
  async requestDocker(remoteId) {
587
- const response = await this.request(remoteId, '/api/host/docker', {
588
- method: 'POST',
589
- body: '{}',
590
- expect: [202],
591
- });
592
- return parseBody(zod_1.z.object({ jobId: zod_1.z.string().nullable() }), response, remoteId, '/api/host/docker');
468
+ return (await this.call(remoteId, host_routes_1.hostRoutes.requestDocker, {}, { body: {} })).body;
593
469
  }
594
470
  async dockerStatus(remoteId) {
595
- const path = '/api/host/docker';
596
- const response = await this.request(remoteId, path, { method: 'GET', expect: [200] });
597
- return (await parseBody(zod_1.z.object({ status: host_helper_service_1.HostDockerStatusSchema.nullable() }), response, remoteId, path)).status;
471
+ return (await this.call(remoteId, host_routes_1.hostRoutes.dockerStatus, {})).body.status;
598
472
  }
599
- getProviderCliSettingsStatus(remoteId) {
600
- return this.hostSettingsRequest(remoteId, '/api/host/provider-clis/status', 'GET', undefined, 200, shared_1.HostProviderCliSettingsStatusSchema, 3000);
473
+ async getProviderCliSettingsStatus(remoteId) {
474
+ return (await this.call(remoteId, host_routes_1.hostRoutes.getProviderCliSettingsStatus, {})).body;
601
475
  }
602
476
  async putProviderCliSettings(remoteId, body) {
603
- 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);
477
+ const route = host_routes_1.hostRoutes.putProviderCliSettings;
478
+ const response = await this.call(remoteId, route, {}, { body });
479
+ checkSettingsRevision(remoteId, route.path({}), response, body.revision);
604
480
  }
605
481
  async checkProviderClis(remoteId) {
606
- await this.hostSettingsRequest(remoteId, '/api/host/provider-clis/check', 'POST', undefined, 202, zod_1.z.object({ accepted: zod_1.z.literal(true) }), 3000);
482
+ await this.call(remoteId, host_routes_1.hostRoutes.checkProviderClis, {});
607
483
  }
608
- getSkillSettingsStatus(remoteId) {
609
- return this.hostSettingsRequest(remoteId, '/api/host/skill-settings/status', 'GET', undefined, 200, shared_2.HostSkillSettingsStatusSchema, 3000);
484
+ async getSkillSettingsStatus(remoteId) {
485
+ return (await this.call(remoteId, host_routes_1.hostRoutes.getSkillSettingsStatus, {})).body;
610
486
  }
611
487
  async putSkillSettings(remoteId, body) {
612
- 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);
488
+ const route = host_routes_1.hostRoutes.putSkillSettings;
489
+ const response = await this.call(remoteId, route, {}, { body });
490
+ checkSettingsRevision(remoteId, route.path({}), response, body.revision);
613
491
  }
614
492
  async uploadSkillSourceContent(remoteId, name, contentHash, stream, signal) {
615
- const path = `/api/host/skill-settings/local-sources/${enc(name)}/content?${new URLSearchParams({ contentHash })}`;
493
+ const params = { name, contentHash };
616
494
  try {
617
- 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);
495
+ const response = await this.call(remoteId, host_routes_1.hostRoutes.uploadSkillSourceContent, params, {
496
+ body: stream,
497
+ signal,
498
+ });
499
+ if (response.body.name !== name || response.body.contentHash !== contentHash) {
500
+ throw (0, host_transport_1.invalidHostAnswer)(remoteId, host_routes_1.hostRoutes.uploadSkillSourceContent.path(params), response.status);
501
+ }
618
502
  }
619
503
  finally {
620
504
  stream.destroy();
621
505
  }
622
506
  }
623
- async hostSettingsRequest(remoteId, path, method, body, expectedStatus, schema, timeoutMs, signal) {
624
- const { baseUrl, certificate } = (0, remote_tls_1.requireRemoteTls)(await this.storage.getRemote(remoteId));
625
- const controller = new AbortController();
626
- const abort = () => controller.abort();
627
- signal?.addEventListener('abort', abort, { once: true });
628
- if (signal?.aborted)
629
- controller.abort();
630
- const timeout = setTimeout(abort, timeoutMs);
631
- timeout.unref?.();
632
- let response;
633
- try {
634
- const init = {
635
- method,
636
- signal: controller.signal,
637
- ...(body === undefined
638
- ? {}
639
- : {
640
- body: body,
641
- headers: {
642
- 'content-type': typeof body === 'string' ? 'application/json' : 'application/x-tar',
643
- },
644
- ...(typeof body === 'string' ? {} : { duplex: 'half' }),
645
- }),
646
- };
647
- init.headers = { ...(await this.apiKeys.headers(remoteId)), ...init.headers };
648
- response = await (0, remote_tls_1.remoteFetch)(`${baseUrl.replace(/\/+$/, '')}${path}`, init, certificate);
649
- if (response.status !== expectedStatus)
650
- throw new RemoteHostRequestError('Host settings request failed', {
651
- remoteId,
652
- path,
653
- status: response.status,
654
- hostCode: null,
655
- });
656
- return await parseBody(schema, response, remoteId, path);
657
- }
658
- finally {
659
- if (response)
660
- await discardBody(response);
661
- clearTimeout(timeout);
662
- signal?.removeEventListener('abort', abort);
663
- }
664
- }
665
- async request(remoteId, path, options) {
666
- const remote = await this.storage.getRemote(remoteId);
667
- const { baseUrl, certificate } = (0, remote_tls_1.requireRemoteTls)(remote);
668
- return this.fetchUrl(baseUrl, path, {
669
- ...options,
670
- apiKey: await this.apiKeys.get(remoteId),
671
- label: `Remote "${remote.name}"`,
672
- remoteId,
673
- certificate,
674
- });
675
- }
676
- async fetchUrl(baseUrl, path, options) {
677
- const remoteId = options.remoteId ?? baseUrl;
678
- const controller = new AbortController();
679
- const timeout = setTimeout(() => controller.abort(), options.timeoutMs ?? CONTROL_TIMEOUT_MS);
680
- timeout.unref?.();
681
- let response;
682
- try {
683
- response = await (0, remote_tls_1.remoteFetch)(`${baseUrl.replace(/\/+$/, '')}${path}`, {
684
- method: options.method,
685
- headers: {
686
- ...(0, remote_api_key_service_1.remoteAuthorization)(options.apiKey),
687
- ...(options.body !== undefined
688
- ? { 'content-type': options.contentType ?? 'application/json' }
689
- : {}),
690
- },
691
- signal: controller.signal,
692
- ...(options.body !== undefined && {
693
- body: options.body,
694
- }),
695
- }, options.certificate);
696
- }
697
- catch (error) {
698
- throw new RemoteHostRequestError(`${options.label} is unreachable: ${error instanceof Error ? error.message : String(error)}`, { remoteId, path, status: null, hostCode: null });
699
- }
700
- finally {
701
- clearTimeout(timeout);
702
- }
703
- if (!options.expect.includes(response.status)) {
704
- const hostCode = await readErrorCode(response);
705
- if (path === '/api/host/docker' && hostCode === 'HOST_HELPER_OUTDATED') {
706
- 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' });
707
- }
708
- throw new RemoteHostRequestError(`${options.label} answered ${response.status} to ${options.method} ${path.split('?')[0]}${hostCode ? ` (${hostCode})` : ''}.`, { remoteId, path, status: response.status, hostCode });
709
- }
710
- return response;
711
- }
712
507
  };
713
508
  exports.RemoteHostClient = RemoteHostClient;
714
509
  exports.RemoteHostClient = RemoteHostClient = __decorate([
715
510
  (0, common_1.Injectable)(),
716
511
  __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
717
- __metadata("design:paramtypes", [Object, remote_api_key_service_1.RemoteApiKeyService])
512
+ __param(2, (0, common_1.Optional)()),
513
+ __param(2, (0, common_1.Inject)('REMOTE_HOST_RUNTIME_TIMEOUT_MS')),
514
+ __metadata("design:paramtypes", [Object, remote_api_key_service_1.RemoteApiKeyService, Object])
718
515
  ], RemoteHostClient);
719
- async function discardBody(response) {
720
- await response.body?.cancel().catch(() => undefined);
516
+ function checkSettingsRevision(remoteId, path, response, expected) {
517
+ if (response.body.revision !== expected) {
518
+ throw (0, host_transport_1.invalidHostAnswer)(remoteId, path, response.status);
519
+ }
721
520
  }
722
521
  function parseDockerAnswer(schema, answer, remoteId, path) {
723
522
  let value = null;
@@ -726,9 +525,12 @@ function parseDockerAnswer(schema, answer, remoteId, path) {
726
525
  }
727
526
  catch {
728
527
  }
528
+ return checkDockerAnswer(schema, value, remoteId, path);
529
+ }
530
+ function checkDockerAnswer(schema, value, remoteId, path) {
729
531
  const parsed = schema.safeParse(value);
730
532
  if (!parsed.success)
731
- throw new RemoteHostRequestError('Docker host request failed', {
533
+ throw new host_transport_1.RemoteHostRequestError('Docker host request failed', {
732
534
  remoteId,
733
535
  path,
734
536
  status: null,
@@ -736,18 +538,6 @@ function parseDockerAnswer(schema, answer, remoteId, path) {
736
538
  });
737
539
  return parsed.data;
738
540
  }
739
- async function parseBody(schema, response, remoteId, path) {
740
- const parsed = schema.safeParse(await response.json().catch(() => null));
741
- if (!parsed.success) {
742
- throw new RemoteHostRequestError(`Host returned an invalid answer to ${path.split('?')[0]}.`, {
743
- remoteId,
744
- path,
745
- status: response.status,
746
- hostCode: null,
747
- });
748
- }
749
- return parsed.data;
750
- }
751
541
  function dialAddress(address, baseUrl) {
752
542
  const match = /^(tcp|quic):\/\/.*:(\d+)$/.exec(address);
753
543
  if (!match)
@@ -757,16 +547,4 @@ function dialAddress(address, baseUrl) {
757
547
  function enc(value) {
758
548
  return encodeURIComponent(value);
759
549
  }
760
- async function readErrorCode(response) {
761
- try {
762
- const body = (await response.json());
763
- const detailCode = body.details?.code;
764
- if (typeof detailCode === 'string')
765
- return detailCode;
766
- return typeof body.code === 'string' ? body.code : null;
767
- }
768
- catch {
769
- return null;
770
- }
771
- }
772
550
  //# sourceMappingURL=remote-host.client.js.map