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
@@ -7,16 +7,19 @@ export interface DockerPlanCapacity {
7
7
  dockerRoot: DockerFilesystem | null;
8
8
  binds: DockerPathCapacity[];
9
9
  }
10
- export declare function copiedMounts(item: DockerPlanItem): DockerPlanMount[];
11
- export declare function copiedDataMounts(item: DockerPlanItem, projectRoot: string): DockerPlanMount[];
12
- export declare function potentialDataMounts(item: DockerPlanItem, projectRoot: string): DockerPlanMount[];
10
+ export declare function copiedMounts(item: Pick<DockerPlanItem, 'mounts' | 'temporary' | 'selectedMode' | 'dataAction'>): DockerPlanMount[];
11
+ export declare function copiedDataMounts(item: Pick<DockerPlanItem, 'mounts' | 'temporary' | 'selectedMode' | 'dataAction'>, _projectRoot: string): DockerPlanMount[];
12
+ export declare function potentialDataMounts(item: Pick<DockerPlanItem, 'mounts' | 'temporary'>, projectRoot: string): DockerPlanMount[];
13
13
  export declare function movesToVm(item: DockerPlanItem): boolean;
14
+ export declare function skipsImageCopy(item: DockerPlanItem, projectRoot: string): boolean;
15
+ export declare function copiesImages(item: DockerPlanItem, projectRoot: string): boolean;
14
16
  export declare function writerStops(item: DockerPlanItem, containerIds: ReadonlySet<string>, projectRoot: string): string[];
15
17
  export declare function uniqueCopiedMounts(items: DockerPlanItem[], projectRoot: string): DockerPlanMount[];
16
18
  export declare function planDockerFit(items: DockerPlanItem[], presentImages: string[], capacity: DockerPlanCapacity, projectRoot: string): {
17
19
  filesystems: DockerPlanFilesystem[];
18
20
  fit: DockerPlan['fit'];
19
21
  bytes: number;
22
+ unknown: boolean;
20
23
  images: string[];
21
24
  };
22
25
  export declare function estimateDockerPlan(bytes: number, probeSeconds: number, exportBytesPerSecond: number | null): DockerPlan['estimate'];
@@ -5,30 +5,45 @@ exports.copiedMounts = copiedMounts;
5
5
  exports.copiedDataMounts = copiedDataMounts;
6
6
  exports.potentialDataMounts = potentialDataMounts;
7
7
  exports.movesToVm = movesToVm;
8
+ exports.skipsImageCopy = skipsImageCopy;
9
+ exports.copiesImages = copiesImages;
8
10
  exports.writerStops = writerStops;
9
11
  exports.uniqueCopiedMounts = uniqueCopiedMounts;
10
12
  exports.planDockerFit = planDockerFit;
11
13
  exports.estimateDockerPlan = estimateDockerPlan;
12
14
  exports.keptWriterStops = keptWriterStops;
13
15
  const docker_plan_dto_1 = require("./docker-plan.dto");
14
- const node_path_1 = require("node:path");
15
16
  const docker_plan_files_1 = require("./docker-plan-files");
16
17
  exports.DOCKER_LOAD_MARGIN_BYTES = 256 * 1024 * 1024;
17
18
  function copiedMounts(item) {
18
- if (!item.selectedMode || item.selectedMode === 'without-data' || item.dataAction === 'keep-vm')
19
+ if (!item.selectedMode ||
20
+ item.selectedMode === 'without-data' ||
21
+ item.dataAction === 'keep-vm' ||
22
+ item.dataAction === 'start-empty')
19
23
  return [];
20
24
  return item.mounts.filter((mount) => item.temporary ? mount.kind === 'named-volume' : docker_plan_dto_1.COPYABLE_MOUNT_KINDS.includes(mount.kind));
21
25
  }
22
- function copiedDataMounts(item, projectRoot) {
23
- const root = (0, node_path_1.resolve)(projectRoot);
24
- return copiedMounts(item).filter((mount) => (0, docker_plan_dto_1.isVolumeMount)(mount.kind) || (0, node_path_1.resolve)(mount.source) !== root);
26
+ function copiedDataMounts(item, _projectRoot) {
27
+ return copiedMounts(item);
25
28
  }
26
29
  function potentialDataMounts(item, projectRoot) {
27
30
  return copiedDataMounts({ ...item, selectedMode: 'container-and-data', dataAction: undefined }, projectRoot);
28
31
  }
29
32
  function movesToVm(item) {
30
33
  return (Boolean(item.selectedMode) &&
31
- (item.targetAction !== 'leave-as-is' || item.dataAction === 'keep-vm'));
34
+ (item.targetAction !== 'leave-as-is' ||
35
+ item.dataAction === 'keep-vm' ||
36
+ item.dataAction === 'start-empty'));
37
+ }
38
+ function skipsImageCopy(item, projectRoot) {
39
+ return (item.kind === 'container' &&
40
+ !item.temporary &&
41
+ item.buildsFromProject === true &&
42
+ item.targetAction === 'leave-as-is' &&
43
+ copiedDataMounts(item, projectRoot).length === 0);
44
+ }
45
+ function copiesImages(item, projectRoot) {
46
+ return movesToVm(item) && !skipsImageCopy(item, projectRoot);
32
47
  }
33
48
  function writerStops(item, containerIds, projectRoot) {
34
49
  if (item.targetAction === 'leave-as-is' || !copiedDataMounts(item, projectRoot).length)
@@ -71,20 +86,23 @@ function planDockerFit(items, presentImages, capacity, projectRoot) {
71
86
  };
72
87
  const images = [
73
88
  ...new Map(items
74
- .filter(movesToVm)
89
+ .filter((item) => copiesImages(item, projectRoot))
75
90
  .flatMap((i) => i.images)
76
91
  .map((image) => [image.id, image])).values(),
77
92
  ].filter((i) => !presentImages.includes(i.id));
78
93
  let bytes = 0;
94
+ let unknown = false;
79
95
  for (const image of images) {
80
96
  add(capacity.imageStore?.path ?? 'image-store', capacity.imageStore, image.size);
81
97
  bytes += image.size.bytes;
98
+ unknown ||= image.size.unknown;
82
99
  }
83
100
  if (images.length) {
84
101
  add(capacity.imageStore?.path ?? 'image-store', capacity.imageStore, { bytes: 0, unknown: images.some((i) => i.size.unknown) }, Math.max(...images.map((i) => i.size.bytes)) + exports.DOCKER_LOAD_MARGIN_BYTES);
85
102
  }
86
103
  for (const mount of uniqueCopiedMounts(items, projectRoot)) {
87
104
  bytes += mount.size.bytes;
105
+ unknown ||= mount.size.unknown;
88
106
  if ((0, docker_plan_dto_1.isVolumeMount)(mount.kind))
89
107
  add(capacity.dockerRoot?.path ?? 'docker-root', capacity.dockerRoot, mount.size);
90
108
  else {
@@ -96,7 +114,7 @@ function planDockerFit(items, presentImages, capacity, projectRoot) {
96
114
  group.status = filesystemStatus(group);
97
115
  const filesystems = [...groups.values()];
98
116
  const fit = ['refused', 'unknown', 'warning'].find((status) => filesystems.some((f) => f.status === status)) ?? 'fits';
99
- return { filesystems, fit, bytes, images: images.map((i) => i.id) };
117
+ return { filesystems, fit, bytes, unknown, images: images.map((i) => i.id) };
100
118
  }
101
119
  function filesystemStatus(group) {
102
120
  if (group.freeBytes !== null && group.requiredBytes > group.freeBytes)
@@ -1 +1 @@
1
- {"version":3,"file":"docker-plan-fit.js","sourceRoot":"","sources":["../../../../src/modules/remotes/docker/docker-plan-fit.ts"],"names":[],"mappings":";;;AAoBA,oCAMC;AAMD,4CAKC;AAED,kDAKC;AAKD,8BAKC;AAKD,kCAOC;AACD,gDAkBC;AACD,sCA+EC;AASD,gDAuBC;AAGD,0CAOC;AA7MD,uDAQ2B;AAC3B,yCAAoC;AACpC,2DAA6C;AAEhC,QAAA,wBAAwB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAM1D,SAAgB,YAAY,CAAC,IAAoB;IAC/C,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,cAAc,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAC7F,OAAO,EAAE,CAAC;IACZ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,sCAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAC3F,CAAC;AACJ,CAAC;AAMD,SAAgB,gBAAgB,CAAC,IAAoB,EAAE,WAAmB;IACxE,MAAM,IAAI,GAAG,IAAA,mBAAO,EAAC,WAAW,CAAC,CAAC;IAClC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,+BAAa,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAA,mBAAO,EAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CACvE,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAoB,EAAE,WAAmB;IAC3E,OAAO,gBAAgB,CACrB,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,SAAS,EAAE,EACtE,WAAW,CACZ,CAAC;AACJ,CAAC;AAKD,SAAgB,SAAS,CAAC,IAAoB;IAC5C,OAAO,CACL,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC,IAAI,CAAC,YAAY,KAAK,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CACvE,CAAC;AACJ,CAAC;AAKD,SAAgB,WAAW,CACzB,IAAoB,EACpB,YAAiC,EACjC,WAAmB;IAEnB,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAClG,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC;AACD,SAAgB,kBAAkB,CAChC,KAAuB,EACvB,WAAmB;IAEnB,MAAM,GAAG,GAAG;QACV,GAAG,IAAI,GAAG,CACR,KAAK;aACF,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAA,+BAAa,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAC/E,CAAC,MAAM,EAAE;KACX,CAAC;IACF,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,CAAC,EAAE,EAAE,CACJ,IAAA,+BAAa,EAAC,CAAC,CAAC,IAAI,CAAC;QACrB,CAAC,GAAG,CAAC,IAAI,CACP,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAA,+BAAa,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAA,0BAAM,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CACvF,CACJ,CAAC;AACJ,CAAC;AACD,SAAgB,aAAa,CAC3B,KAAuB,EACvB,aAAuB,EACvB,QAA4B,EAC5B,WAAmB;IAOnB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;IACvD,MAAM,GAAG,GAAG,CACV,IAAY,EACZ,MAA+B,EAC/B,IAAoB,EACpB,aAAa,GAAG,CAAC,EACjB,EAAE;QACF,MAAM,GAAG,GAAG,MAAM,EAAE,YAAY,IAAI,WAAW,IAAI,EAAE,CAAC;QACtD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,IAAI;gBAC1C,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,CAAC;gBAChB,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,IAAI;gBACpC,OAAO,EAAE,MAAM,KAAK,IAAI;gBACxB,MAAM,EAAE,SAAS;aAClB,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YACpC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;QAClD,KAAK,CAAC,aAAa,IAAI,aAAa,CAAC;QACrC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;IACjC,CAAC,CAAC;IACF,MAAM,MAAM,GAAG;QACb,GAAG,IAAI,GAAG,CACR,KAAK;aAEF,MAAM,CAAC,SAAS,CAAC;aACjB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;aACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CACrC,CAAC,MAAM,EAAE;KACX,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,IAAI,aAAa,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACjF,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAElB,GAAG,CACD,QAAQ,CAAC,UAAU,EAAE,IAAI,IAAI,aAAa,EAC1C,QAAQ,CAAC,UAAU,EACnB,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EACzD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,gCAAwB,CACxE,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAC3D,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,IAAA,+BAAa,EAAC,KAAK,CAAC,IAAI,CAAC;YAC3B,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,IAAI,aAAa,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAC9E,CAAC;YACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;YACnE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzC,MAAM,GAAG,GACN,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3D,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAC7C,IAAI,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACtE,CAAC;AACD,SAAS,gBAAgB,CAAC,KAA2B;IACnD,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACpC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,GAAG,GAAG;QAAE,OAAO,SAAS,CAAC;IAC9F,OAAO,MAAM,CAAC;AAChB,CAAC;AAGD,SAAgB,kBAAkB,CAChC,KAAa,EACb,YAAoB,EACpB,oBAAmC;IAEnC,IAAI,KAAK,KAAK,CAAC;QACb,OAAO;YACL,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC5B,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5F,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC;IAC7D,MAAM,SAAS,GAAG,KAAK,GAAG,oBAAoB,CAAC;IAC/C,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC;QACzC,UAAU,EAAE,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC;QACtC,UAAU,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;QAC5B,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC;AAGD,SAAgB,eAAe,CAAC,IAAoB,EAAE,GAAqB;IACzE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAC5F,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"docker-plan-fit.js","sourceRoot":"","sources":["../../../../src/modules/remotes/docker/docker-plan-fit.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import { type DockerScanResult } from '../host/host-docker.dto';
2
2
  import type { DockerImportInventory } from '../operations/docker-import-inventory.store';
3
- import { type DockerDataGroupCheck, type DockerPlan, type DockerPlanItem, type DockerPlanRequest, type DockerSelectionMode } from './docker-plan.dto';
3
+ import { type ConnectDockerChoice } from '../connect-choices.dto';
4
+ import { type DockerDataGroupCheck, type DockerPlan, type DockerPlanItem, type DockerPlanNetwork, type DockerPlanIssue, type DockerPlanRequest, type DockerSelectionMode } from './docker-plan.dto';
4
5
  export declare const DATA_BLOCKER_CODES: readonly string[];
5
6
  export declare function blocksMode(mode: DockerSelectionMode, code: string): boolean;
6
- export declare function applyDockerPolicy(items: DockerPlanItem[], request: DockerPlanRequest, target: DockerScanResult, projectId: string, targetHome: string | null, targetUid: number | null, homeUid: number | null): void;
7
+ export declare function applyDockerPolicy(items: DockerPlanItem[], request: DockerPlanRequest, target: DockerScanResult, projectId: string, targetHome: string | null, projectRoot: string, remembered?: Readonly<Record<string, ConnectDockerChoice>>): void;
8
+ export declare function rangeConflict(homeSubnets: readonly string[], vmNetworks?: DockerScanResult['networks'], vmRoutes?: readonly string[]): string | undefined;
9
+ export declare function dockerNetworkPolicy(items: DockerPlanItem[], target: DockerScanResult): DockerPlanNetwork[];
10
+ export declare function dockerNetworkWarnings(networks: DockerPlanNetwork[]): DockerPlanIssue[];
7
11
  export declare function dockerReconnect(items: DockerPlanItem[], inventory: DockerImportInventory | null, projectRoot: string): DockerPlan['reconnect'];
8
- export declare function applyDockerDataPolicy(items: DockerPlanItem[], groups: DockerDataGroupCheck[], request: DockerPlanRequest, target: DockerScanResult): void;
12
+ export declare function applyDockerDataPolicy(items: DockerPlanItem[], groups: DockerDataGroupCheck[], request: DockerPlanRequest, target: DockerScanResult, inventory?: DockerImportInventory | null, projectRoot?: string, projectId?: string): void;
@@ -3,29 +3,48 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DATA_BLOCKER_CODES = void 0;
4
4
  exports.blocksMode = blocksMode;
5
5
  exports.applyDockerPolicy = applyDockerPolicy;
6
+ exports.rangeConflict = rangeConflict;
7
+ exports.dockerNetworkPolicy = dockerNetworkPolicy;
8
+ exports.dockerNetworkWarnings = dockerNetworkWarnings;
6
9
  exports.dockerReconnect = dockerReconnect;
7
10
  exports.applyDockerDataPolicy = applyDockerDataPolicy;
8
11
  const error_types_1 = require("../../../common/errors/error-types");
12
+ const docker_settings_1 = require("../../core/controllers/docker-settings");
9
13
  const host_docker_dto_1 = require("../host/host-docker.dto");
14
+ const connect_choices_dto_1 = require("../connect-choices.dto");
15
+ const docker_data_groups_1 = require("./docker-data-groups");
16
+ const docker_data_representation_1 = require("./docker-data-representation");
17
+ const docker_ownership_1 = require("./docker-ownership");
10
18
  const docker_plan_fit_1 = require("./docker-plan-fit");
11
19
  const docker_plan_files_1 = require("./docker-plan-files");
20
+ const docker_project_resources_1 = require("./docker-project-resources");
12
21
  const docker_plan_dto_1 = require("./docker-plan.dto");
13
22
  exports.DATA_BLOCKER_CODES = [
14
23
  'non-local-volume',
15
24
  'external-writable-bind',
16
25
  'bind-destination',
17
26
  ];
27
+ const CONTAINER_ONLY_BLOCKER_CODES = [
28
+ 'runtime-bound',
29
+ 'fixed-ipv4-unavailable',
30
+ 'privileged-not-accepted',
31
+ ];
32
+ const CONTAINER_BLOCKER_CODES = [
33
+ ...CONTAINER_ONLY_BLOCKER_CODES,
34
+ 'architecture-mismatch',
35
+ 'readonly-path-missing',
36
+ ];
18
37
  function blocksMode(mode, code) {
19
38
  if (mode === 'without-data')
20
39
  return !exports.DATA_BLOCKER_CODES.includes(code);
21
- return mode !== 'data-only' || code !== 'runtime-bound';
40
+ return mode !== 'data-only' || !CONTAINER_ONLY_BLOCKER_CODES.includes(code);
22
41
  }
23
- function applyDockerPolicy(items, request, target, projectId, targetHome, targetUid, homeUid) {
42
+ function applyDockerPolicy(items, request, target, projectId, targetHome, projectRoot, remembered = {}) {
24
43
  const selections = new Map();
25
44
  for (const selection of request.items ?? []) {
26
45
  if (selections.has(selection.id) || !items.some((i) => i.id === selection.id))
27
46
  throw new error_types_1.ValidationError('Docker selection has duplicate or unknown item ids');
28
- selections.set(selection.id, selection.mode);
47
+ selections.set(selection.id, selection);
29
48
  }
30
49
  for (const item of items) {
31
50
  for (const mount of item.mounts) {
@@ -63,14 +82,13 @@ function applyDockerPolicy(items, request, target, projectId, targetHome, target
63
82
  code: 'architecture-mismatch',
64
83
  message: 'Image architecture differs from the VM.',
65
84
  });
66
- item.warnings = item.warnings.filter((warning) => warning.code !== 'home-uid' ||
67
- (targetUid !== null && homeUid !== null && targetUid !== homeUid));
68
- for (const warning of item.warnings)
69
- if (warning.code === 'home-uid')
70
- warning.message = `Container runs as home uid ${homeUid}; VM uid is ${targetUid}. File permissions may differ.`;
71
- const runtimeBound = item.blockers.some((b) => b.code === 'runtime-bound');
85
+ const existing = vmContainerNamed(target, item.name);
86
+ const action = existing
87
+ ? counterpartAction(existing, target, projectId, projectRoot, item)
88
+ : 'create';
89
+ fixedIPv4Policy(item, target, action === 'conflict' ? undefined : existing?.id);
72
90
  const dataBlocked = item.blockers.some((b) => exports.DATA_BLOCKER_CODES.includes(b.code));
73
- const containerBlocked = item.blockers.some((b) => ['runtime-bound', 'architecture-mismatch', 'readonly-path-missing'].includes(b.code));
91
+ const containerBlocked = item.blockers.some((b) => CONTAINER_BLOCKER_CODES.includes(b.code));
74
92
  if (item.temporary || item.kind === 'compose-project')
75
93
  item.choices =
76
94
  dataBlocked ||
@@ -82,43 +100,42 @@ function applyDockerPolicy(items, request, target, projectId, targetHome, target
82
100
  item.choices.push('container-and-data');
83
101
  if (!containerBlocked)
84
102
  item.choices.push('without-data');
85
- if (runtimeBound && !dataBlocked && item.blockers.every((b) => b.code === 'runtime-bound'))
103
+ if ((item.ownership?.class === 'follows-user' && !containerBlocked && !dataBlocked) ||
104
+ (item.privileged && !dataBlocked) ||
105
+ (item.blockers.length > 0 &&
106
+ item.blockers.every((b) => CONTAINER_ONLY_BLOCKER_CODES.includes(b.code))))
86
107
  item.choices.push('data-only');
87
108
  }
88
109
  item.defaultSelected =
89
110
  item.linkedReasons.length > 0 && !item.temporary && item.blockers.length === 0;
90
- item.selectedMode =
91
- request.items === undefined
92
- ? item.defaultSelected
93
- ? (item.choices[0] ?? null)
94
- : null
95
- : (selections.get(item.id) ?? null);
111
+ if (request.items !== undefined) {
112
+ item.selectedMode = selections.get(item.id)?.mode ?? null;
113
+ }
114
+ else {
115
+ const saved = remembered[(0, connect_choices_dto_1.connectChoiceKey)(item)];
116
+ if (saved?.included === false) {
117
+ item.defaultSelected = false;
118
+ item.selectedMode = null;
119
+ }
120
+ else if (saved?.mode && item.choices.includes(saved.mode)) {
121
+ item.defaultSelected = true;
122
+ item.selectedMode = saved.mode;
123
+ }
124
+ else {
125
+ item.selectedMode = item.defaultSelected ? (item.choices[0] ?? null) : null;
126
+ }
127
+ }
96
128
  if (item.selectedMode && !item.choices.includes(item.selectedMode))
97
- throw new error_types_1.ValidationError(`Unavailable Docker selection mode for item ${item.id}`);
98
- const existing = target.containers.find((c) => c.name.replace(/^\//, '') === item.name);
129
+ throw new error_types_1.ValidationError(item.blockers.find((b) => b.code === 'fixed-ipv4-unavailable' && blocksMode(item.selectedMode, b.code))?.message ?? `Unavailable Docker selection mode for item ${item.id}`);
99
130
  if (existing &&
100
131
  item.kind === 'container' &&
101
132
  !item.temporary &&
102
133
  item.selectedMode !== 'data-only') {
103
- const composeProject = existing.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL];
104
- const imported = composeProject &&
105
- target.volumes.some((v) => v.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId &&
106
- v.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL] === composeProject);
107
- const holdsImported = composeProject &&
108
- existing.mounts.some((m) => m.type === 'volume' &&
109
- target.volumes.some((v) => v.name === m.name &&
110
- v.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId &&
111
- v.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL] === composeProject));
112
- if (existing.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId || holdsImported)
113
- item.targetAction = 'replace';
114
- else if (imported &&
115
- !existing.mounts.some((m) => m.type === 'volume' &&
116
- target.volumes.some((v) => v.name === m.name && Boolean(v.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL])))) {
117
- item.targetAction = 'leave-as-is';
134
+ item.targetAction = action;
135
+ if (action === 'leave-as-is') {
118
136
  item.notes.push('already on the VM (managed by Compose), left as is');
119
137
  }
120
- else {
121
- item.targetAction = 'conflict';
138
+ else if (action === 'conflict') {
122
139
  item.blockers.push({
123
140
  code: 'container-conflict',
124
141
  message: `The VM container ${item.name} is not owned by this project; skip it or resolve the conflict manually.`,
@@ -133,16 +150,13 @@ function applyDockerPolicy(items, request, target, projectId, targetHome, target
133
150
  const volume = target.volumes.find((v) => v.name === mount.source);
134
151
  if (!volume)
135
152
  continue;
136
- if (volume.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] !== projectId)
153
+ if (!(0, docker_project_resources_1.projectVolume)(volume.labels, target.containers, projectRoot, projectId, target.volumes))
137
154
  item.blockers.push({
138
155
  code: 'volume-conflict',
139
156
  message: `VM volume ${mount.source} is not owned by this project; it cannot be replaced.`,
140
157
  });
141
158
  for (const holder of target.containers.filter((c) => c.mounts.some((m) => m.type === 'volume' && m.name === mount.source))) {
142
- const managed = holder.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId ||
143
- (Boolean(holder.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL]) &&
144
- holder.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL] === volume.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL] &&
145
- volume.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId);
159
+ const managed = (0, docker_project_resources_1.projectContainer)(holder, projectRoot, projectId, target.volumes);
146
160
  if (!managed)
147
161
  item.blockers.push({
148
162
  code: 'unrelated-holder',
@@ -150,7 +164,120 @@ function applyDockerPolicy(items, request, target, projectId, targetHome, target
150
164
  });
151
165
  }
152
166
  }
167
+ if (item.privileged &&
168
+ (item.selectedMode === 'container-and-data' || item.selectedMode === 'without-data') &&
169
+ !selections.get(item.id)?.acceptPrivileged)
170
+ item.blockers.push({
171
+ code: 'privileged-not-accepted',
172
+ message: 'Accept Run privileged for this container, or pick Copy its data only.',
173
+ });
174
+ }
175
+ }
176
+ function counterpartAction(existing, target, projectId, projectRoot, home) {
177
+ if ((0, docker_project_resources_1.foreignProjectOwner)(existing.labels, projectId))
178
+ return 'conflict';
179
+ const composeProject = existing.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL];
180
+ const importedVolumes = target.volumes.filter((v) => v.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId &&
181
+ v.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL] === composeProject);
182
+ const holdsImported = composeProject &&
183
+ existing.mounts.some((m) => m.type === 'volume' && importedVolumes.some((v) => v.name === m.name));
184
+ if (existing.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId || holdsImported)
185
+ return 'replace';
186
+ if ((0, docker_project_resources_1.projectContainer)(existing, projectRoot, projectId))
187
+ return home.mounts.some((mount) => docker_plan_dto_1.COPYABLE_MOUNT_KINDS.includes(mount.kind))
188
+ ? 'replace'
189
+ : 'leave-as-is';
190
+ if (composeProject &&
191
+ importedVolumes.length &&
192
+ !existing.mounts.some((m) => m.type === 'volume' &&
193
+ target.volumes.some((v) => v.name === m.name && Boolean(v.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL]))))
194
+ return 'leave-as-is';
195
+ return 'conflict';
196
+ }
197
+ function rangeConflict(homeSubnets, vmNetworks = [], vmRoutes = []) {
198
+ return (vmNetworks.find((other) => (0, docker_settings_1.overlappingIPv4Range)(homeSubnets, other.subnets))?.name ??
199
+ (0, docker_settings_1.overlappingIPv4Range)(homeSubnets, vmRoutes));
200
+ }
201
+ function dockerNetworkPolicy(items, target) {
202
+ const networks = new Map();
203
+ const selected = items.filter((item) => item.kind === 'container' && item.selectedMode);
204
+ for (const item of selected)
205
+ for (const network of item.networks ?? [])
206
+ networks.set(network.name, network);
207
+ const fixedNetworks = new Set(selected
208
+ .filter((item) => !item.temporary && item.selectedMode !== 'data-only')
209
+ .flatMap((item) => item.fixedIPv4?.map((fixed) => fixed.network) ?? []));
210
+ return [...networks.values()].map((network) => {
211
+ const existing = target.networks?.find((vm) => vm.name === network.name);
212
+ if (existing) {
213
+ const differs = !network.subnets.some((home) => existing.subnets.includes(home));
214
+ const overlaps = differs
215
+ ? rangeConflict(network.subnets, target.networks?.filter((vm) => vm.name !== network.name), target.routes?.filter((route) => !existing.subnets.includes(route)))
216
+ : undefined;
217
+ return {
218
+ ...network,
219
+ kind: 'reused',
220
+ vmSubnets: existing.subnets,
221
+ differs,
222
+ ...(overlaps ? { overlaps } : {}),
223
+ };
224
+ }
225
+ const overlaps = rangeConflict(network.subnets, target.networks, target.routes);
226
+ return overlaps && !fixedNetworks.has(network.name)
227
+ ? { ...network, kind: 'automatic-range', overlaps }
228
+ : { ...network, kind: 'home-range' };
229
+ });
230
+ }
231
+ function dockerNetworkWarnings(networks) {
232
+ return networks.flatMap((network) => {
233
+ if (network.kind === 'automatic-range')
234
+ return [
235
+ {
236
+ code: 'network-automatic-range',
237
+ message: `Network ${network.name} uses an automatic VM range because its home range ${network.subnets.join(', ')} overlaps ${network.overlaps}.`,
238
+ },
239
+ ];
240
+ if (network.kind === 'reused' && network.differs) {
241
+ const remedy = network.overlaps
242
+ ? `The home range overlaps ${network.overlaps} on the VM, so removing the VM network would not restore it. Keep the VM range, or free the home range on the VM first.`
243
+ : 'Remove the VM network when no container uses it, then connect again.';
244
+ return [
245
+ {
246
+ code: 'network-range-differs',
247
+ message: `VM network ${network.name} uses ${network.vmSubnets.join(', ') || 'no IPv4 range'}, not the home range ${network.subnets.join(', ') || 'no IPv4 range'}. ${remedy}`,
248
+ },
249
+ ];
250
+ }
251
+ return [];
252
+ });
253
+ }
254
+ function fixedIPv4Policy(item, target, counterpartId) {
255
+ for (const fixed of item.fixedIPv4 ?? []) {
256
+ const reason = fixedIPv4Refusal(fixed, target, counterpartId);
257
+ if (reason)
258
+ item.blockers.push({
259
+ code: 'fixed-ipv4-unavailable',
260
+ message: `${item.name} cannot use ${fixed.address} on network ${fixed.network}: ${reason}`,
261
+ });
262
+ }
263
+ }
264
+ function fixedIPv4Refusal(fixed, target, counterpartId) {
265
+ const network = target.networks?.find((n) => n.name === fixed.network);
266
+ if (!network) {
267
+ const vmNetwork = target.networks?.find((other) => (0, docker_settings_1.overlappingIPv4Range)(fixed.subnets, other.subnets));
268
+ if (vmNetwork)
269
+ return `the home network range overlaps VM network ${vmNetwork.name}. Remove the unused VM network and connect again, or change the network range and address on the PC.`;
270
+ const route = (0, docker_settings_1.overlappingIPv4Range)(fixed.subnets, target.routes ?? []);
271
+ if (route)
272
+ return `the home network range overlaps VM on-link route ${route}. Change the network range and address on the PC, then connect again.`;
273
+ return undefined;
153
274
  }
275
+ if (!network.subnets.some((subnet) => (0, docker_settings_1.containsIPv4)(subnet, fixed.address)))
276
+ return 'the address is outside the VM network range. Remove the VM network when no container uses it and connect again, or change the address on the PC.';
277
+ const holder = network.addresses?.find((entry) => entry.address === fixed.address && entry.containerId !== counterpartId);
278
+ if (holder)
279
+ return `VM container ${holder.containerName} uses that address. Free the address on the VM, or change the address on the PC.`;
280
+ return undefined;
154
281
  }
155
282
  function dockerReconnect(items, inventory, projectRoot) {
156
283
  if (!inventory)
@@ -178,11 +305,25 @@ function dockerReconnect(items, inventory, projectRoot) {
178
305
  lossNotice: 'Fresh home data replaces the VM copies DevChain created. VM changes not copied back are lost; Cancel cannot recover a VM copy already replaced.',
179
306
  };
180
307
  }
308
+ function vmContainerNamed(target, name) {
309
+ return target.containers.find((container) => container.name.replace(/^\//, '') === name);
310
+ }
181
311
  function normalizeArchitecture(value) {
182
312
  return { x86_64: 'amd64', aarch64: 'arm64' }[value] ?? value;
183
313
  }
184
- function applyDockerDataPolicy(items, groups, request, target) {
314
+ function applyDockerDataPolicy(items, groups, request, target, inventory = null, projectRoot, projectId) {
185
315
  const selections = new Map((request.items ?? []).map((i) => [i.id, i]));
316
+ for (const item of items) {
317
+ const state = groups.find((g) => g.itemIds.includes(item.id))?.state;
318
+ if (state === 'no-record' || !item.choices.includes('container-and-data'))
319
+ continue;
320
+ item.choices = item.choices.filter((choice) => choice !== 'without-data');
321
+ if (item.selectedMode !== 'without-data')
322
+ continue;
323
+ if (request.items !== undefined)
324
+ throw new error_types_1.ValidationError(`Unavailable Docker selection mode for item ${item.id}`);
325
+ item.selectedMode = item.choices[0] ?? null;
326
+ }
186
327
  for (const group of groups) {
187
328
  const members = items.filter((i) => group.itemIds.includes(i.id));
188
329
  const selected = members.filter((i) => i.selectedMode);
@@ -195,13 +336,116 @@ function applyDockerDataPolicy(items, groups, request, target) {
195
336
  bindPaths: group.bindPaths.filter((p) => target.paths.some((entry) => entry.path === p && 'exists' in entry && !entry.exists)),
196
337
  };
197
338
  const partial = missing.volumes.length > 0 || missing.bindPaths.length > 0;
339
+ const follows = group.ownership?.class === 'follows-user';
340
+ const matchingRecords = (inventory?.groups ?? []).filter((record) => (0, docker_data_groups_1.overlapsData)(group, record));
341
+ const compatibleRecord = (0, docker_data_representation_1.dataRepresentationMatches)(group, matchingRecords);
342
+ const incompatible = group.ownership !== undefined &&
343
+ group.state !== 'no-record' &&
344
+ members.some((member) => {
345
+ const existing = vmContainerNamed(target, member.name);
346
+ const desired = (0, docker_ownership_1.dockerTargetUser)(member);
347
+ return existing && desired !== undefined && existing.user !== desired && !compatibleRecord;
348
+ });
349
+ if (follows || incompatible) {
350
+ const holdsData = group.state !== 'no-record';
351
+ const available = holdsData
352
+ ? ['keep-vm', 'replace-home', 'start-empty']
353
+ : ['replace-home', 'start-empty'];
354
+ if (choice === 'start-empty' &&
355
+ (target.volumes.some((volume) => group.volumes.includes(volume.name) &&
356
+ (volume.driver !== 'local' ||
357
+ (projectId !== undefined &&
358
+ !(0, docker_project_resources_1.projectVolume)(volume.labels, target.containers, projectRoot, projectId, target.volumes)))) ||
359
+ (projectRoot !== undefined &&
360
+ group.bindPaths.some((path) => path === projectRoot || !(0, docker_plan_files_1.within)(projectRoot, path)))))
361
+ throw new error_types_1.ValidationError('Start with empty data requires project-owned local volumes and in-project data folders.');
362
+ if (choice && !available.includes(choice))
363
+ throw new error_types_1.ValidationError('Unavailable Docker data choice for this ownership group.');
364
+ const anyWithoutData = selected.some((member) => member.selectedMode === 'without-data');
365
+ let defaultAction = 'replace-home';
366
+ if (holdsData)
367
+ defaultAction = 'keep-vm';
368
+ else if (anyWithoutData)
369
+ defaultAction = 'start-empty';
370
+ const action = choice ?? defaultAction;
371
+ if (action === 'replace-home' && anyWithoutData)
372
+ throw new error_types_1.ValidationError('Docker items sharing data cannot mix replacement and without-data choices');
373
+ for (const member of members) {
374
+ member.dataGroup = group.itemIds;
375
+ member.dataState = group.state;
376
+ member.dataChoices = available;
377
+ member.dataChoice = choice ?? (holdsData ? 'keep-vm' : undefined);
378
+ member.dataAction = action;
379
+ member.dataChoiceRequired = false;
380
+ member.missingData = missing;
381
+ const existing = vmContainerNamed(target, member.name);
382
+ if (!existing) {
383
+ if (holdsData &&
384
+ !compatibleRecord &&
385
+ member.ownership?.class === 'follows-user' &&
386
+ member.dataAction === 'keep-vm' &&
387
+ member.selectedMode !== 'data-only')
388
+ member.blockers.push({
389
+ code: 'ownership-data-incompatible',
390
+ message: 'The VM data has no matching ownership representation. Replace with home data or start with empty data before creating this container with VM user ids.',
391
+ });
392
+ continue;
393
+ }
394
+ if (member.targetAction === 'conflict' || member.selectedMode === 'data-only')
395
+ continue;
396
+ member.vmUser = existing.user;
397
+ if (member.dataAction !== 'keep-vm') {
398
+ member.targetAction = 'replace';
399
+ continue;
400
+ }
401
+ const desired = (0, docker_ownership_1.dockerTargetUser)(member);
402
+ if (incompatible && existing.user !== desired) {
403
+ member.targetAction = 'leave-as-is';
404
+ member.retainedOwnership =
405
+ inventory?.items.find((item) => item.name === member.name)?.ownership ??
406
+ (member.ownership
407
+ ? {
408
+ class: 'exact',
409
+ home: member.ownership.home,
410
+ vm: member.ownership.vm,
411
+ targetUser: existing.user,
412
+ }
413
+ : undefined);
414
+ member.notes.push(`runs as ${existing.user || '0'} until its data is reset or copied again`);
415
+ }
416
+ else if (existing.user !== desired) {
417
+ member.targetAction = 'replace';
418
+ }
419
+ else {
420
+ member.targetAction = 'leave-as-is';
421
+ }
422
+ }
423
+ continue;
424
+ }
425
+ if (choice === 'start-empty')
426
+ throw new error_types_1.ValidationError('Start with empty data is unavailable for this group.');
427
+ for (const member of members)
428
+ member.dataChoices = ['keep-vm', 'replace-home'];
198
429
  const requiresChoice = group.state === 'both-changed' ||
199
430
  group.state === 'unknown' ||
200
431
  (partial && group.state === 'home-newer');
201
432
  const action = connectDataAction(group.state, choice, requiresChoice);
433
+ if (request.items === undefined &&
434
+ action === 'replace-home' &&
435
+ selected.some((i) => i.selectedMode === 'without-data')) {
436
+ for (const member of selected) {
437
+ if (member.choices.includes('without-data')) {
438
+ member.selectedMode = 'without-data';
439
+ }
440
+ else {
441
+ member.selectedMode = null;
442
+ member.defaultSelected = false;
443
+ }
444
+ }
445
+ }
202
446
  if (action === 'replace-home' &&
203
447
  selected.some((i) => i.selectedMode === 'without-data') &&
204
- selected.some((i) => i.selectedMode !== 'without-data'))
448
+ selected.some((i) => i.selectedMode !== null && i.selectedMode !== 'without-data'))
205
449
  throw new error_types_1.ValidationError('Docker items sharing data cannot mix replacement and without-data choices');
206
450
  for (const item of members) {
207
451
  item.dataGroup = group.itemIds;