devchain-cli 0.24.0 → 0.24.2

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 (432) hide show
  1. package/README.md +1 -4
  2. package/dist/build-info.json +2 -2
  3. package/dist/cli.js +66 -11
  4. package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
  5. package/dist/host-install/pins.json +31 -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/server/common/config/env.config.d.ts +3 -0
  11. package/dist/server/common/config/env.config.js +1 -0
  12. package/dist/server/common/config/env.config.js.map +1 -1
  13. package/dist/server/common/config/host-image.json +3 -3
  14. package/dist/server/common/constants/syncthing-markers.d.ts +1 -0
  15. package/dist/server/common/constants/syncthing-markers.js +6 -1
  16. package/dist/server/common/constants/syncthing-markers.js.map +1 -1
  17. package/dist/server/common/filesystem/vm-home-path.d.ts +11 -0
  18. package/dist/server/common/filesystem/vm-home-path.js +48 -0
  19. package/dist/server/common/filesystem/vm-home-path.js.map +1 -0
  20. package/dist/server/common/process-ids-env.d.ts +1 -0
  21. package/dist/server/common/process-ids-env.js +13 -0
  22. package/dist/server/common/process-ids-env.js.map +1 -0
  23. package/dist/server/common/test/api-test-app.d.ts +12 -0
  24. package/dist/server/common/test/api-test-app.js +76 -0
  25. package/dist/server/common/test/api-test-app.js.map +1 -0
  26. package/dist/server/common/test/app-bootstrap.helper.js +8 -1
  27. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
  28. package/dist/server/common/test/fake-bootstrap.server.js +3 -2
  29. package/dist/server/common/test/fake-bootstrap.server.js.map +1 -1
  30. package/dist/server/common/test/fake-docker-engine.server.d.ts +24 -6
  31. package/dist/server/common/test/fake-docker-engine.server.js +123 -25
  32. package/dist/server/common/test/fake-docker-engine.server.js.map +1 -1
  33. package/dist/server/common/test/fake-proxmox.server.js +4 -4
  34. package/dist/server/common/test/fake-ssh.server.js +6 -6
  35. package/dist/server/common/test/fake-ssh.server.js.map +1 -1
  36. package/dist/server/common/test/test-database.helper.d.ts +6 -0
  37. package/dist/server/common/test/test-database.helper.js +29 -0
  38. package/dist/server/common/test/test-database.helper.js.map +1 -0
  39. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +1 -0
  40. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +9 -3
  41. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
  42. package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.d.ts +6 -0
  43. package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.js +88 -0
  44. package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.js.map +1 -0
  45. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +7 -1
  46. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -1
  47. package/dist/server/modules/core/controllers/docker-archive.d.ts +9 -2
  48. package/dist/server/modules/core/controllers/docker-archive.js +22 -6
  49. package/dist/server/modules/core/controllers/docker-archive.js.map +1 -1
  50. package/dist/server/modules/core/controllers/docker-engine.client.d.ts +2 -1
  51. package/dist/server/modules/core/controllers/docker-engine.client.js +57 -4
  52. package/dist/server/modules/core/controllers/docker-engine.client.js.map +1 -1
  53. package/dist/server/modules/core/controllers/docker-image-metadata.d.ts +248 -0
  54. package/dist/server/modules/core/controllers/docker-image-metadata.js +161 -0
  55. package/dist/server/modules/core/controllers/docker-image-metadata.js.map +1 -0
  56. package/dist/server/modules/core/controllers/docker-settings.d.ts +13 -2
  57. package/dist/server/modules/core/controllers/docker-settings.js +49 -11
  58. package/dist/server/modules/core/controllers/docker-settings.js.map +1 -1
  59. package/dist/server/modules/core/controllers/host-user-identity.d.ts +34 -0
  60. package/dist/server/modules/core/controllers/host-user-identity.js +23 -0
  61. package/dist/server/modules/core/controllers/host-user-identity.js.map +1 -0
  62. package/dist/server/modules/core/controllers/runtime.controller.d.ts +11 -4
  63. package/dist/server/modules/core/controllers/runtime.controller.js +2 -0
  64. package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
  65. package/dist/server/modules/file-sync/build-exclusion-suggestions.d.ts +15 -0
  66. package/dist/server/modules/file-sync/build-exclusion-suggestions.js +402 -0
  67. package/dist/server/modules/file-sync/build-exclusion-suggestions.js.map +1 -0
  68. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.d.ts +102 -0
  69. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js +22 -0
  70. package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js.map +1 -0
  71. package/dist/server/modules/file-sync/file-sync-auto-fix.store.d.ts +12 -0
  72. package/dist/server/modules/file-sync/file-sync-auto-fix.store.js +73 -0
  73. package/dist/server/modules/file-sync/file-sync-auto-fix.store.js.map +1 -0
  74. package/dist/server/modules/file-sync/file-sync-conflicts.d.ts +3 -0
  75. package/dist/server/modules/file-sync/file-sync-conflicts.js +191 -0
  76. package/dist/server/modules/file-sync/file-sync-conflicts.js.map +1 -0
  77. package/dist/server/modules/file-sync/file-sync-ignores.store.d.ts +5 -1
  78. package/dist/server/modules/file-sync/file-sync-ignores.store.js +39 -8
  79. package/dist/server/modules/file-sync/file-sync-ignores.store.js.map +1 -1
  80. package/dist/server/modules/file-sync/file-sync.controller.d.ts +1 -3
  81. package/dist/server/modules/file-sync/file-sync.controller.js +5 -14
  82. package/dist/server/modules/file-sync/file-sync.controller.js.map +1 -1
  83. package/dist/server/modules/file-sync/file-sync.dto.d.ts +220 -1
  84. package/dist/server/modules/file-sync/file-sync.dto.js +70 -4
  85. package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -1
  86. package/dist/server/modules/file-sync/file-sync.module.js +16 -1
  87. package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
  88. package/dist/server/modules/file-sync/file-sync.service.d.ts +20 -5
  89. package/dist/server/modules/file-sync/file-sync.service.js +173 -37
  90. package/dist/server/modules/file-sync/file-sync.service.js.map +1 -1
  91. package/dist/server/modules/file-sync/git-guard.dto.d.ts +61 -0
  92. package/dist/server/modules/file-sync/git-guard.dto.js +26 -0
  93. package/dist/server/modules/file-sync/git-guard.dto.js.map +1 -0
  94. package/dist/server/modules/file-sync/home-git-guard.service.d.ts +4 -2
  95. package/dist/server/modules/file-sync/home-git-guard.service.js +50 -25
  96. package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -1
  97. package/dist/server/modules/file-sync/host-git-guard.controller.d.ts +10 -0
  98. package/dist/server/modules/file-sync/host-git-guard.controller.js +64 -0
  99. package/dist/server/modules/file-sync/host-git-guard.controller.js.map +1 -0
  100. package/dist/server/modules/file-sync/host-git-index.controller.d.ts +9 -0
  101. package/dist/server/modules/file-sync/host-git-index.controller.js +67 -0
  102. package/dist/server/modules/file-sync/host-git-index.controller.js.map +1 -0
  103. package/dist/server/modules/file-sync/host-sync.controller.d.ts +15 -2
  104. package/dist/server/modules/file-sync/host-sync.controller.js +122 -14
  105. package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
  106. package/dist/server/modules/file-sync/ignore-pattern-matcher.d.ts +30 -0
  107. package/dist/server/modules/file-sync/ignore-pattern-matcher.js +183 -0
  108. package/dist/server/modules/file-sync/ignore-pattern-matcher.js.map +1 -0
  109. package/dist/server/modules/file-sync/project-repository.d.ts +2 -0
  110. package/dist/server/modules/file-sync/project-repository.js +20 -0
  111. package/dist/server/modules/file-sync/project-repository.js.map +1 -0
  112. package/dist/server/modules/file-sync/sync-chown.dto.d.ts +99 -0
  113. package/dist/server/modules/file-sync/sync-chown.dto.js +46 -0
  114. package/dist/server/modules/file-sync/sync-chown.dto.js.map +1 -0
  115. package/dist/server/modules/file-sync/sync-chown.service.d.ts +12 -0
  116. package/dist/server/modules/file-sync/sync-chown.service.js +230 -0
  117. package/dist/server/modules/file-sync/sync-chown.service.js.map +1 -0
  118. package/dist/server/modules/file-sync/sync-path-inspection.dto.d.ts +626 -0
  119. package/dist/server/modules/file-sync/sync-path-inspection.dto.js +108 -0
  120. package/dist/server/modules/file-sync/sync-path-inspection.dto.js.map +1 -0
  121. package/dist/server/modules/file-sync/sync-path-inspector.d.ts +12 -0
  122. package/dist/server/modules/file-sync/sync-path-inspector.js +413 -0
  123. package/dist/server/modules/file-sync/sync-path-inspector.js.map +1 -0
  124. package/dist/server/modules/file-sync/syncthing-rest.client.d.ts +1 -1
  125. package/dist/server/modules/file-sync/syncthing-rest.client.js +9 -4
  126. package/dist/server/modules/file-sync/syncthing-rest.client.js.map +1 -1
  127. package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +28 -5
  128. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +68 -5
  129. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -1
  130. package/dist/server/modules/file-sync/translate-git-ignore-rule.d.ts +3 -0
  131. package/dist/server/modules/file-sync/translate-git-ignore-rule.js +30 -0
  132. package/dist/server/modules/file-sync/translate-git-ignore-rule.js.map +1 -0
  133. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +86 -0
  134. package/dist/server/modules/hooks/dtos/hook-event.dto.js +15 -1
  135. package/dist/server/modules/hooks/dtos/hook-event.dto.js.map +1 -1
  136. package/dist/server/modules/hooks/services/hooks-config.service.js +29 -0
  137. package/dist/server/modules/hooks/services/hooks-config.service.js.map +1 -1
  138. package/dist/server/modules/hooks/services/hooks.service.d.ts +5 -1
  139. package/dist/server/modules/hooks/services/hooks.service.js +27 -5
  140. package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
  141. package/dist/server/modules/hooks/services/pending-ask-user-question.service.d.ts +2 -2
  142. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js +9 -12
  143. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js.map +1 -1
  144. package/dist/server/modules/mcp/services/handlers/skill-tools.js +2 -2
  145. package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
  146. package/dist/server/modules/metrics/services/metrics.service.js +1 -1
  147. package/dist/server/modules/metrics/services/metrics.service.js.map +1 -1
  148. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +3 -1
  149. package/dist/server/modules/providers/adapters/claude.adapter.js +4 -1
  150. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  151. package/dist/server/modules/remotes/connect-choices.controller.d.ts +9 -0
  152. package/dist/server/modules/remotes/connect-choices.controller.js +54 -0
  153. package/dist/server/modules/remotes/connect-choices.controller.js.map +1 -0
  154. package/dist/server/modules/remotes/connect-choices.dto.d.ts +52 -0
  155. package/dist/server/modules/remotes/connect-choices.dto.js +19 -0
  156. package/dist/server/modules/remotes/connect-choices.dto.js.map +1 -0
  157. package/dist/server/modules/remotes/connect-choices.store.d.ts +12 -0
  158. package/dist/server/modules/remotes/connect-choices.store.js +95 -0
  159. package/dist/server/modules/remotes/connect-choices.store.js.map +1 -0
  160. package/dist/server/modules/remotes/controllers/remotes.controller.d.ts +3 -0
  161. package/dist/server/modules/remotes/controllers/remotes.controller.js +9 -1
  162. package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -1
  163. package/dist/server/modules/remotes/docker/docker-copy-back.d.ts +1 -0
  164. package/dist/server/modules/remotes/docker/docker-copy-back.js +70 -31
  165. package/dist/server/modules/remotes/docker/docker-copy-back.js.map +1 -1
  166. package/dist/server/modules/remotes/docker/docker-handoff.d.ts +5 -3
  167. package/dist/server/modules/remotes/docker/docker-handoff.js +221 -53
  168. package/dist/server/modules/remotes/docker/docker-handoff.js.map +1 -1
  169. package/dist/server/modules/remotes/docker/docker-handoff.store.d.ts +5 -0
  170. package/dist/server/modules/remotes/docker/docker-handoff.store.js.map +1 -1
  171. package/dist/server/modules/remotes/docker/docker-plan-fit.d.ts +4 -1
  172. package/dist/server/modules/remotes/docker/docker-plan-fit.js +19 -6
  173. package/dist/server/modules/remotes/docker/docker-plan-fit.js.map +1 -1
  174. package/dist/server/modules/remotes/docker/docker-plan-policy.d.ts +6 -2
  175. package/dist/server/modules/remotes/docker/docker-plan-policy.js +191 -38
  176. package/dist/server/modules/remotes/docker/docker-plan-policy.js.map +1 -1
  177. package/dist/server/modules/remotes/docker/docker-plan-source.service.d.ts +55 -6
  178. package/dist/server/modules/remotes/docker/docker-plan-source.service.js +284 -52
  179. package/dist/server/modules/remotes/docker/docker-plan-source.service.js.map +1 -1
  180. package/dist/server/modules/remotes/docker/docker-plan.controller.d.ts +2 -1
  181. package/dist/server/modules/remotes/docker/docker-plan.controller.js +15 -1
  182. package/dist/server/modules/remotes/docker/docker-plan.controller.js.map +1 -1
  183. package/dist/server/modules/remotes/docker/docker-plan.dto.d.ts +47 -1
  184. package/dist/server/modules/remotes/docker/docker-plan.dto.js +1 -0
  185. package/dist/server/modules/remotes/docker/docker-plan.dto.js.map +1 -1
  186. package/dist/server/modules/remotes/docker/docker-plan.service.d.ts +15 -6
  187. package/dist/server/modules/remotes/docker/docker-plan.service.js +83 -20
  188. package/dist/server/modules/remotes/docker/docker-plan.service.js.map +1 -1
  189. package/dist/server/modules/remotes/docker/docker-project-compose.d.ts +7 -0
  190. package/dist/server/modules/remotes/docker/docker-project-compose.js +30 -0
  191. package/dist/server/modules/remotes/docker/docker-project-compose.js.map +1 -0
  192. package/dist/server/modules/remotes/dtos/remote.dto.d.ts +2 -0
  193. package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -1
  194. package/dist/server/modules/remotes/git-owner.store.d.ts +13 -0
  195. package/dist/server/modules/remotes/git-owner.store.js +69 -0
  196. package/dist/server/modules/remotes/git-owner.store.js.map +1 -0
  197. package/dist/server/modules/remotes/host/host-docker.controller.d.ts +14 -1
  198. package/dist/server/modules/remotes/host/host-docker.controller.js +28 -9
  199. package/dist/server/modules/remotes/host/host-docker.controller.js.map +1 -1
  200. package/dist/server/modules/remotes/host/host-docker.dto.d.ts +640 -3
  201. package/dist/server/modules/remotes/host/host-docker.dto.js +66 -9
  202. package/dist/server/modules/remotes/host/host-docker.dto.js.map +1 -1
  203. package/dist/server/modules/remotes/host/host-docker.service.d.ts +18 -6
  204. package/dist/server/modules/remotes/host/host-docker.service.js +184 -81
  205. package/dist/server/modules/remotes/host/host-docker.service.js.map +1 -1
  206. package/dist/server/modules/remotes/host/host-ipv4-routes.d.ts +4 -0
  207. package/dist/server/modules/remotes/host/host-ipv4-routes.js +43 -0
  208. package/dist/server/modules/remotes/host/host-ipv4-routes.js.map +1 -0
  209. package/dist/server/modules/remotes/host-image.d.ts +1 -1
  210. package/dist/server/modules/remotes/host-image.js +1 -1
  211. package/dist/server/modules/remotes/host-install/host-install-block.d.ts +1 -0
  212. package/dist/server/modules/remotes/host-install/host-install-block.js +76 -2
  213. package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -1
  214. package/dist/server/modules/remotes/host-install/host-install.service.d.ts +0 -1
  215. package/dist/server/modules/remotes/host-install/host-install.service.js +9 -26
  216. package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -1
  217. package/dist/server/modules/remotes/operations/attach.operation.d.ts +5 -1
  218. package/dist/server/modules/remotes/operations/attach.operation.js +41 -5
  219. package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -1
  220. package/dist/server/modules/remotes/operations/claim.operation.d.ts +1 -0
  221. package/dist/server/modules/remotes/operations/claim.operation.js +6 -1
  222. package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -1
  223. package/dist/server/modules/remotes/operations/detach.operation.d.ts +4 -1
  224. package/dist/server/modules/remotes/operations/detach.operation.js +10 -2
  225. package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -1
  226. package/dist/server/modules/remotes/operations/docker-import-inventory.store.d.ts +10 -0
  227. package/dist/server/modules/remotes/operations/docker-import-inventory.store.js +17 -0
  228. package/dist/server/modules/remotes/operations/docker-import-inventory.store.js.map +1 -1
  229. package/dist/server/modules/remotes/operations/file-sync-handoff.d.ts +30 -2
  230. package/dist/server/modules/remotes/operations/file-sync-handoff.js +498 -57
  231. package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -1
  232. package/dist/server/modules/remotes/operations/force-sync.operation.d.ts +39 -0
  233. package/dist/server/modules/remotes/operations/force-sync.operation.js +177 -0
  234. package/dist/server/modules/remotes/operations/force-sync.operation.js.map +1 -0
  235. package/dist/server/modules/remotes/operations/git-owner.dto.d.ts +83 -0
  236. package/dist/server/modules/remotes/operations/git-owner.dto.js +25 -0
  237. package/dist/server/modules/remotes/operations/git-owner.dto.js.map +1 -0
  238. package/dist/server/modules/remotes/operations/git-owner.operation.d.ts +35 -0
  239. package/dist/server/modules/remotes/operations/git-owner.operation.js +216 -0
  240. package/dist/server/modules/remotes/operations/git-owner.operation.js.map +1 -0
  241. package/dist/server/modules/remotes/operations/remote-host.client.d.ts +72 -8
  242. package/dist/server/modules/remotes/operations/remote-host.client.js +162 -28
  243. package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
  244. package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +19 -0
  245. package/dist/server/modules/remotes/operations/remote-operation.dto.js +5 -1
  246. package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -1
  247. package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +3 -1
  248. package/dist/server/modules/remotes/operations/remote-operation.runner.js +59 -21
  249. package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -1
  250. package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +4 -1
  251. package/dist/server/modules/remotes/operations/remote-operation.types.js +4 -2
  252. package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -1
  253. package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +5 -0
  254. package/dist/server/modules/remotes/operations/remote-operations.controller.js +56 -0
  255. package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -1
  256. package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +16 -1
  257. package/dist/server/modules/remotes/operations/remote-operations.service.js +155 -5
  258. package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -1
  259. package/dist/server/modules/remotes/operations/update-logins.operation.d.ts +1 -3
  260. package/dist/server/modules/remotes/operations/update-logins.operation.js +3 -18
  261. package/dist/server/modules/remotes/operations/update-logins.operation.js.map +1 -1
  262. package/dist/server/modules/remotes/ports/remote-health.port.d.ts +2 -0
  263. package/dist/server/modules/remotes/ports/remote-health.port.js.map +1 -1
  264. package/dist/server/modules/remotes/remotes.module.js +18 -0
  265. package/dist/server/modules/remotes/remotes.module.js.map +1 -1
  266. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.d.ts +2 -2
  267. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js +2 -13
  268. package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js.map +1 -1
  269. package/dist/server/modules/remotes/services/remote-health.service.js +5 -0
  270. package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -1
  271. package/dist/server/modules/remotes/sync/file-sync-failures.service.d.ts +18 -0
  272. package/dist/server/modules/remotes/sync/file-sync-failures.service.js +157 -0
  273. package/dist/server/modules/remotes/sync/file-sync-failures.service.js.map +1 -0
  274. package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.d.ts +14 -0
  275. package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js +99 -0
  276. package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js.map +1 -0
  277. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.d.ts +15 -0
  278. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js +90 -0
  279. package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js.map +1 -0
  280. package/dist/server/modules/remotes/sync/project-file-sync.controller.d.ts +29 -0
  281. package/dist/server/modules/remotes/sync/project-file-sync.controller.js +160 -0
  282. package/dist/server/modules/remotes/sync/project-file-sync.controller.js.map +1 -0
  283. package/dist/server/modules/remotes/sync/remote-file-sync.dto.d.ts +72 -0
  284. package/dist/server/modules/remotes/sync/remote-file-sync.dto.js +16 -0
  285. package/dist/server/modules/remotes/sync/remote-file-sync.dto.js.map +1 -0
  286. package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +32 -1
  287. package/dist/server/modules/remotes/sync/remote-file-sync.service.js +499 -38
  288. package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -1
  289. package/dist/server/modules/remotes/sync/remote-live-sync.service.d.ts +2 -0
  290. package/dist/server/modules/remotes/sync/remote-live-sync.service.js +26 -12
  291. package/dist/server/modules/remotes/sync/remote-live-sync.service.js.map +1 -1
  292. package/dist/server/modules/remotes/vm-user-identity.d.ts +29 -0
  293. package/dist/server/modules/remotes/vm-user-identity.js +45 -0
  294. package/dist/server/modules/remotes/vm-user-identity.js.map +1 -0
  295. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +5 -1
  296. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
  297. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +5 -0
  298. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +9 -0
  299. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -1
  300. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +1 -0
  301. package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js +1 -0
  302. package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js.map +1 -1
  303. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +1 -1
  304. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -1
  305. package/dist/server/modules/session-reader/controllers/session-reader.controller.js +1 -1
  306. package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -1
  307. package/dist/server/modules/session-reader/data/pricing.json +89 -12
  308. package/dist/server/modules/session-reader/dtos/unified-message.types.d.ts +1 -0
  309. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.d.ts +3 -0
  310. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +10 -1
  311. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -1
  312. package/dist/server/modules/session-reader/parsers/claude-turn-evidence.d.ts +11 -0
  313. package/dist/server/modules/session-reader/parsers/claude-turn-evidence.js +50 -0
  314. package/dist/server/modules/session-reader/parsers/claude-turn-evidence.js.map +1 -0
  315. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +8 -2
  316. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -1
  317. package/dist/server/modules/session-reader/services/bounded-anchor-proof.d.ts +7 -0
  318. package/dist/server/modules/session-reader/services/bounded-anchor-proof.js +31 -2
  319. package/dist/server/modules/session-reader/services/bounded-anchor-proof.js.map +1 -1
  320. package/dist/server/modules/session-reader/services/session-cache.service.d.ts +8 -2
  321. package/dist/server/modules/session-reader/services/session-cache.service.js +80 -21
  322. package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
  323. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +4 -0
  324. package/dist/server/modules/session-reader/services/session-reader.service.js +40 -8
  325. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  326. package/dist/server/modules/session-reader/services/transcript-cursor.d.ts +16 -4
  327. package/dist/server/modules/session-reader/services/transcript-cursor.js +65 -6
  328. package/dist/server/modules/session-reader/services/transcript-cursor.js.map +1 -1
  329. package/dist/server/modules/session-reader/services/transcript-serialization.js +2 -1
  330. package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -1
  331. package/dist/server/modules/session-reader/services/transcript-turn-state.d.ts +4 -0
  332. package/dist/server/modules/session-reader/services/transcript-turn-state.js +20 -0
  333. package/dist/server/modules/session-reader/services/transcript-turn-state.js.map +1 -0
  334. package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +4 -1
  335. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +43 -18
  336. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  337. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +5 -0
  338. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
  339. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +36 -17
  340. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +26 -9
  341. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  342. package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.d.ts +19 -0
  343. package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.js +26 -0
  344. package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.js.map +1 -0
  345. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +10 -18
  346. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  347. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +5 -1
  348. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +20 -2
  349. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  350. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.d.ts +6 -0
  351. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js +26 -0
  352. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js.map +1 -1
  353. package/dist/server/modules/settings/services/settings.service.d.ts +3 -1
  354. package/dist/server/modules/settings/services/settings.service.js +6 -0
  355. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  356. package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js +5 -5
  357. package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js.map +1 -1
  358. package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js +5 -5
  359. package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js.map +1 -1
  360. package/dist/server/modules/skills/adapters/github-skill-source.base.js +4 -3
  361. package/dist/server/modules/skills/adapters/github-skill-source.base.js.map +1 -1
  362. package/dist/server/modules/skills/adapters/local-skill-source.adapter.js +5 -5
  363. package/dist/server/modules/skills/adapters/local-skill-source.adapter.js.map +1 -1
  364. package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js +5 -5
  365. package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js.map +1 -1
  366. package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js +5 -5
  367. package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js.map +1 -1
  368. package/dist/server/modules/skills/adapters/skill-source.adapter.d.ts +5 -0
  369. package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.d.ts +5 -0
  370. package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js +75 -0
  371. package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js.map +1 -0
  372. package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js +5 -5
  373. package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js.map +1 -1
  374. package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js +5 -5
  375. package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js.map +1 -1
  376. package/dist/server/modules/skills/controllers/skills.controller.js +2 -2
  377. package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
  378. package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +3 -3
  379. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js +9 -4
  380. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
  381. package/dist/server/modules/skills/services/skill-sync.service.d.ts +3 -3
  382. package/dist/server/modules/skills/services/skill-sync.service.js +32 -6
  383. package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
  384. package/dist/server/modules/skills/services/skill-sync.types.d.ts +3 -0
  385. package/dist/server/modules/storage/db/schema.d.ts +2 -2
  386. package/dist/server/modules/storage/db/schema.js +2 -0
  387. package/dist/server/modules/storage/db/schema.js.map +1 -1
  388. package/dist/server/modules/storage/models/domain.models.d.ts +1 -1
  389. package/dist/server/modules/storage/models/domain.models.js +2 -0
  390. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  391. package/dist/server/modules/teams/storage/teams.store.d.ts +1 -0
  392. package/dist/server/modules/teams/storage/teams.store.js +19 -3
  393. package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
  394. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +3 -1
  395. package/dist/server/modules/terminal/gateways/terminal.gateway.js +9 -4
  396. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  397. package/dist/server/modules/terminal/services/session-turn-signals.d.ts +18 -0
  398. package/dist/server/modules/terminal/services/session-turn-signals.js +6 -0
  399. package/dist/server/modules/terminal/services/session-turn-signals.js.map +1 -0
  400. package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +32 -5
  401. package/dist/server/modules/terminal/services/terminal-activity.service.js +322 -40
  402. package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -1
  403. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js +15 -3
  404. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js.map +1 -1
  405. package/dist/server/modules/terminal/terminal.module.js +2 -0
  406. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  407. package/dist/server/modules/terminal/utils/ansi-sanitizer.d.ts +0 -1
  408. package/dist/server/modules/terminal/utils/ansi-sanitizer.js +0 -4
  409. package/dist/server/modules/terminal/utils/ansi-sanitizer.js.map +1 -1
  410. package/dist/server/templates/teams-dev.json +14 -14
  411. package/dist/server/test-setup-node.js +4 -3
  412. package/dist/server/test-setup-node.js.map +1 -1
  413. package/dist/server/test-setup.js +7 -0
  414. package/dist/server/test-setup.js.map +1 -1
  415. package/dist/server/tsconfig.tsbuildinfo +1 -1
  416. package/dist/server/ui/assets/{ExternalRichEditor--kNXs-Eb.js → ExternalRichEditor-CIZPhssf.js} +24 -24
  417. package/dist/server/ui/assets/ReviewDetailPage-winyLSQ7.js +6 -0
  418. package/dist/server/ui/assets/ReviewsPage-BYKBReMp.js +6 -0
  419. package/dist/server/ui/assets/index-CiDJX6Hn.js +1191 -0
  420. package/dist/server/ui/assets/index-f1WOAqXB.css +32 -0
  421. package/dist/server/ui/assets/useReviewSubscription-v3Cto0y4.js +69 -0
  422. package/dist/server/ui/index.html +2 -2
  423. package/dist/templates/teams-dev.json +14 -14
  424. package/package.json +15 -1
  425. package/dist/server/modules/reviews/utils/notification-formatter.d.ts +0 -12
  426. package/dist/server/modules/reviews/utils/notification-formatter.js +0 -60
  427. package/dist/server/modules/reviews/utils/notification-formatter.js.map +0 -1
  428. package/dist/server/ui/assets/ReviewDetailPage-DMgP5fKn.js +0 -6
  429. package/dist/server/ui/assets/ReviewsPage-CkyFUJr6.js +0 -6
  430. package/dist/server/ui/assets/index-CVUaAlP4.css +0 -32
  431. package/dist/server/ui/assets/index-CqRufKpA.js +0 -994
  432. package/dist/server/ui/assets/useReviewSubscription-CU70CzwG.js +0 -69
@@ -1,12 +1,13 @@
1
- import type { FolderSyncStatus, FolderType, SyncDevice, SyncFolder, SyncFolderPatch, SyncFolderRequest } from '../file-sync.dto';
1
+ import type { FolderSyncStatus, RemoteNeed, ConflictReport, ConflictBaseline, FolderType, SyncDevice, SyncFolder, SyncFolderPatch, SyncFolderRequest, ForceCopyBackupRequest, ForceCopyBackup, ReceiveOnlyChanges, SyncStatusOptions } from '../file-sync.dto';
2
2
  import { FileSyncService, type FolderNeed, type ProjectFolder, type SyncProgress, type WaitForCompleteOptions } from '../file-sync.service';
3
3
  export interface FakeFolder {
4
4
  type: FolderType;
5
5
  paused: boolean;
6
6
  peerDeviceId: string;
7
7
  ignores: string[];
8
+ backupPath?: string;
8
9
  }
9
- export declare class FakeFileSyncService implements Pick<FileSyncService, 'device' | 'addPeer' | 'isConnected' | 'getIgnores' | 'setIgnores' | 'projectFolders' | 'initialFolders' | 'projectNeed' | 'ensureFolder' | 'updateFolder' | 'setFolderType' | 'folderConfiguration' | 'folderPath' | 'removeFolder' | 'status' | 'rescan' | 'revertLocalChanges' | 'waitForComplete'> {
10
+ export declare class FakeFileSyncService implements Pick<FileSyncService, 'device' | 'addPeer' | 'isConnected' | 'getIgnores' | 'getIgnoresRevision' | 'setIgnores' | 'projectFolders' | 'initialFolders' | 'projectNeed' | 'ensureFolder' | 'forceCopyBackup' | 'localChanges' | 'override' | 'updateFolder' | 'setFolderType' | 'folderConfiguration' | 'folderPath' | 'removeFolder' | 'status' | 'remoteNeed' | 'conflicts' | 'conflictBaseline' | 'rescan' | 'revertLocalChanges' | 'waitForComplete'> {
10
11
  readonly deviceId: string;
11
12
  readonly peers: Set<string>;
12
13
  readonly gitProjects: Set<string>;
@@ -15,18 +16,35 @@ export declare class FakeFileSyncService implements Pick<FileSyncService, 'devic
15
16
  needItems: number;
16
17
  needBytes: number;
17
18
  }>;
19
+ readonly remoteNeeds: Map<string, {
20
+ deleted: number;
21
+ total: number;
22
+ sample: {
23
+ path: string;
24
+ deleted: boolean;
25
+ }[];
26
+ conflictPaths: string[];
27
+ conflictsOverCap: boolean;
28
+ }>;
29
+ readonly receiveOnlyChanges: Map<string, {
30
+ count: number;
31
+ sample: string[];
32
+ }>;
18
33
  readonly codeRoots: Map<string, string>;
19
34
  private readonly ignores;
35
+ private readonly revisions;
20
36
  ensureAvailable(): Promise<void>;
21
37
  device(): SyncDevice;
22
38
  addPeer(peer: SyncDevice): Promise<void>;
23
39
  isConnected(deviceId: string): Promise<boolean>;
24
40
  getIgnores(projectId: string): string[];
25
- setIgnores(projectId: string, ignores: string[] | null): string[];
41
+ getIgnoresRevision(projectId: string): number;
42
+ setIgnores(projectId: string, ignores: string[] | null, revision?: number): string[];
26
43
  projectFolders(projectId: string): Promise<ProjectFolder[]>;
27
44
  initialFolders(projectId: string): Promise<ProjectFolder[]>;
28
45
  projectNeed(projectId: string): Promise<FolderNeed[] | null>;
29
46
  ensureFolder(request: SyncFolderRequest): Promise<SyncFolder>;
47
+ forceCopyBackup(request: ForceCopyBackupRequest): Promise<ForceCopyBackup>;
30
48
  updateFolder(folderId: string, patch: SyncFolderPatch): Promise<void>;
31
49
  folderConfiguration(folderId: string): Promise<{
32
50
  type: "sendonly" | "receiveonly" | "sendreceive";
@@ -38,9 +56,14 @@ export declare class FakeFileSyncService implements Pick<FileSyncService, 'devic
38
56
  folderPath(projectId: string, kind?: ProjectFolder['kind']): Promise<string>;
39
57
  setFolderType(folderId: string, type: FolderType): Promise<void>;
40
58
  removeFolder(folderId: string): Promise<void>;
41
- status(folderId: string, peerDeviceId?: string): Promise<FolderSyncStatus>;
42
- rescan(folderId: string): Promise<void>;
59
+ status(folderId: string, peerDeviceId?: string, _options?: SyncStatusOptions): Promise<FolderSyncStatus>;
60
+ rescan(folderId: string, signal?: AbortSignal): Promise<void>;
61
+ remoteNeed(folderId: string, _peerDeviceId: string): Promise<RemoteNeed>;
62
+ conflicts(projectId: string, baseline: ConflictBaseline, ignores: readonly string[], signal?: AbortSignal): Promise<ConflictReport>;
63
+ conflictBaseline(projectId: string, ignores: readonly string[], signal?: AbortSignal): Promise<ConflictBaseline>;
43
64
  revertLocalChanges(folderId: string): Promise<void>;
65
+ localChanges(folderId: string): Promise<ReceiveOnlyChanges>;
66
+ override(folderId: string): Promise<void>;
44
67
  waitForComplete(folderId: string, options: WaitForCompleteOptions): Promise<SyncProgress>;
45
68
  private require;
46
69
  }
@@ -2,10 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FakeFileSyncService = void 0;
4
4
  const crypto_1 = require("crypto");
5
+ const error_types_1 = require("../../../common/errors/error-types");
5
6
  const path_1 = require("path");
7
+ const file_sync_dto_1 = require("../file-sync.dto");
6
8
  const file_sync_service_1 = require("../file-sync.service");
7
9
  const syncthing_rest_client_1 = require("../syncthing-rest.client");
8
10
  const file_sync_ignores_store_1 = require("../file-sync-ignores.store");
11
+ const file_sync_conflicts_1 = require("../file-sync-conflicts");
9
12
  class FakeFileSyncService {
10
13
  deviceId = Array.from({ length: 8 }, () => (0, crypto_1.randomBytes)(7)
11
14
  .toString('base64')
@@ -17,8 +20,11 @@ class FakeFileSyncService {
17
20
  gitProjects = new Set();
18
21
  folders = new Map();
19
22
  need = new Map();
23
+ remoteNeeds = new Map();
24
+ receiveOnlyChanges = new Map();
20
25
  codeRoots = new Map();
21
26
  ignores = new Map();
27
+ revisions = new Map();
22
28
  async ensureAvailable() { }
23
29
  device() {
24
30
  return { deviceId: this.deviceId, address: 'tcp://127.0.0.1:22000' };
@@ -32,7 +38,14 @@ class FakeFileSyncService {
32
38
  getIgnores(projectId) {
33
39
  return this.ignores.get(projectId) ?? [...file_sync_ignores_store_1.DEFAULT_FILE_SYNC_IGNORES];
34
40
  }
35
- setIgnores(projectId, ignores) {
41
+ getIgnoresRevision(projectId) {
42
+ return this.revisions.get(projectId) ?? 0;
43
+ }
44
+ setIgnores(projectId, ignores, revision) {
45
+ const current = this.getIgnoresRevision(projectId);
46
+ if (revision !== undefined && revision !== current)
47
+ throw new error_types_1.AppError('The file list changed. Review it again.', file_sync_dto_1.FILE_SYNC_IGNORES_CHANGED, 409);
48
+ this.revisions.set(projectId, current + 1);
36
49
  if (ignores === null)
37
50
  this.ignores.delete(projectId);
38
51
  else
@@ -54,13 +67,32 @@ class FakeFileSyncService {
54
67
  async ensureFolder(request) {
55
68
  const id = (0, file_sync_service_1.projectFolderId)(request.projectId, request.kind);
56
69
  const paused = request.paused ?? false;
70
+ const backupPath = request.forceCopy
71
+ ? (await this.forceCopyBackup({
72
+ projectId: request.projectId,
73
+ kind: request.kind,
74
+ forceCopy: request.forceCopy,
75
+ })).path
76
+ : undefined;
57
77
  this.folders.set(id, {
58
78
  type: request.type,
59
79
  paused,
60
80
  peerDeviceId: request.peerDeviceId,
61
81
  ignores: request.ignores,
82
+ ...(backupPath && { backupPath }),
62
83
  });
63
- return { id, path: `/fake/${id}`, type: request.type, paused };
84
+ return {
85
+ id,
86
+ path: `/fake/${id}`,
87
+ type: request.type,
88
+ paused,
89
+ ...(backupPath && { backupPath }),
90
+ };
91
+ }
92
+ async forceCopyBackup(request) {
93
+ return {
94
+ path: `/fake/sync-backups/${request.projectId}/${request.forceCopy.operationId}/${request.kind}`,
95
+ };
64
96
  }
65
97
  async updateFolder(folderId, patch) {
66
98
  const folder = this.require(folderId);
@@ -84,7 +116,7 @@ class FakeFileSyncService {
84
116
  async removeFolder(folderId) {
85
117
  this.folders.delete(folderId);
86
118
  }
87
- async status(folderId, peerDeviceId) {
119
+ async status(folderId, peerDeviceId, _options) {
88
120
  this.require(folderId);
89
121
  const need = this.need.get(folderId) ?? zeroNeed();
90
122
  return {
@@ -96,7 +128,7 @@ class FakeFileSyncService {
96
128
  globalDirectories: 1,
97
129
  needTotalItems: need.needItems,
98
130
  needBytes: need.needBytes,
99
- receiveOnlyChangedFiles: 0,
131
+ receiveOnlyChangedFiles: this.receiveOnlyChanges.get(folderId)?.count ?? 0,
100
132
  peer: peerDeviceId
101
133
  ? {
102
134
  deviceId: peerDeviceId,
@@ -108,11 +140,42 @@ class FakeFileSyncService {
108
140
  : null,
109
141
  };
110
142
  }
111
- async rescan(folderId) {
143
+ async rescan(folderId, signal) {
112
144
  this.require(folderId);
145
+ signal?.throwIfAborted();
146
+ }
147
+ async remoteNeed(folderId, _peerDeviceId) {
148
+ this.require(folderId);
149
+ return structuredClone(this.remoteNeeds.get(folderId) ?? {
150
+ total: 0,
151
+ deleted: 0,
152
+ sample: [],
153
+ conflictPaths: [],
154
+ conflictsOverCap: false,
155
+ });
156
+ }
157
+ async conflicts(projectId, baseline, ignores, signal) {
158
+ const root = this.codeRoots.get(projectId);
159
+ return root
160
+ ? (0, file_sync_conflicts_1.scanFileSyncConflicts)(root, baseline, ignores, signal)
161
+ : { total: 0, sample: [], ...(baseline.baselineOverCap && { baselineOverCap: true }) };
162
+ }
163
+ async conflictBaseline(projectId, ignores, signal) {
164
+ const root = this.codeRoots.get(projectId);
165
+ return root
166
+ ? (0, file_sync_conflicts_1.captureFileSyncConflictBaseline)(root, ignores, signal)
167
+ : { baselineOverCap: false, paths: [] };
113
168
  }
114
169
  async revertLocalChanges(folderId) {
115
170
  this.require(folderId);
171
+ this.receiveOnlyChanges.delete(folderId);
172
+ }
173
+ async localChanges(folderId) {
174
+ this.require(folderId);
175
+ return structuredClone(this.receiveOnlyChanges.get(folderId) ?? { count: 0, sample: [] });
176
+ }
177
+ async override(folderId) {
178
+ this.require(folderId);
116
179
  }
117
180
  waitForComplete(folderId, options) {
118
181
  return file_sync_service_1.FileSyncService.prototype.waitForComplete.call(this, folderId, {
@@ -1 +1 @@
1
- {"version":3,"file":"fake-file-sync.service.js","sourceRoot":"","sources":["../../../../src/modules/file-sync/testing/fake-file-sync.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake-file-sync.service.js","sourceRoot":"","sources":["../../../../src/modules/file-sync/testing/fake-file-sync.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type SyncPathFacts } from './sync-path-inspection.dto';
2
+ export declare function nestedGitignoreBase(source: string): string | null;
3
+ export declare function translateGitIgnoreRule(rule: NonNullable<SyncPathFacts['ignoreRule']>): string[] | null;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nestedGitignoreBase = nestedGitignoreBase;
4
+ exports.translateGitIgnoreRule = translateGitIgnoreRule;
5
+ const ignore_pattern_matcher_1 = require("./ignore-pattern-matcher");
6
+ const sync_path_inspection_dto_1 = require("./sync-path-inspection.dto");
7
+ function nestedGitignoreBase(source) {
8
+ return source.endsWith('/.gitignore') && sync_path_inspection_dto_1.SyncRelativePathSchema.safeParse(source).success
9
+ ? source.slice(0, -'/.gitignore'.length)
10
+ : null;
11
+ }
12
+ function translateGitIgnoreRule(rule) {
13
+ let pattern = rule.pattern;
14
+ if (pattern.startsWith('!') || !/^[A-Za-z0-9._ /\-*?\[\]\\]+$/.test(pattern))
15
+ return null;
16
+ if (pattern.includes('/**/') || pattern.includes('[^') || pattern.endsWith('\\'))
17
+ return null;
18
+ pattern = pattern.replace(/\/$/, '').replace(/^\*\*\//, '');
19
+ if (!pattern)
20
+ return null;
21
+ const base = nestedGitignoreBase(rule.source) ?? '';
22
+ const rootedBase = base ? `${base.replace(/[\\*?\[\]{}]/g, '\\$&')}/` : '';
23
+ const patterns = pattern.includes('/')
24
+ ? [`(?d)/${rootedBase}${pattern.replace(/^\//, '')}`]
25
+ : base
26
+ ? [`(?d)/${rootedBase}${pattern}`, `(?d)/${rootedBase}**/${pattern}`]
27
+ : [`(?d)${pattern}`];
28
+ return patterns.every((line) => (0, ignore_pattern_matcher_1.compileIgnorePattern)(line).kind === 'pattern') ? patterns : null;
29
+ }
30
+ //# sourceMappingURL=translate-git-ignore-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translate-git-ignore-rule.js","sourceRoot":"","sources":["../../../src/modules/file-sync/translate-git-ignore-rule.ts"],"names":[],"mappings":";;AAIA,kDAIC;AAED,wDAgBC;AA1BD,qEAAgE;AAChE,yEAAwF;AAGxF,SAAgB,mBAAmB,CAAC,MAAc;IAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,iDAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO;QACvF,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAgB,sBAAsB,CACpC,IAA8C;IAE9C,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1F,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9F,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpC,CAAC,CAAC,CAAC,QAAQ,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;QACrD,CAAC,CAAC,IAAI;YACJ,CAAC,CAAC,CAAC,QAAQ,UAAU,GAAG,OAAO,EAAE,EAAE,QAAQ,UAAU,MAAM,OAAO,EAAE,CAAC;YACrE,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;IACzB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,6CAAoB,EAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACnG,CAAC"}
@@ -39,6 +39,46 @@ export declare const SessionStartHookSchema: z.ZodObject<{
39
39
  permissionMode?: string | undefined;
40
40
  transcriptPath?: string | undefined;
41
41
  }>;
42
+ export declare const UserPromptSubmitHookSchema: z.ZodObject<{
43
+ providerName: z.ZodOptional<z.ZodString>;
44
+ providerSessionId: z.ZodOptional<z.ZodString>;
45
+ tmuxSessionName: z.ZodString;
46
+ projectId: z.ZodString;
47
+ agentId: z.ZodNullable<z.ZodString>;
48
+ sessionId: z.ZodNullable<z.ZodString>;
49
+ claudeSessionId: z.ZodOptional<z.ZodString>;
50
+ model: z.ZodOptional<z.ZodString>;
51
+ permissionMode: z.ZodOptional<z.ZodString>;
52
+ transcriptPath: z.ZodOptional<z.ZodString>;
53
+ firedAtMs: z.ZodOptional<z.ZodNumber>;
54
+ hookEventName: z.ZodLiteral<"UserPromptSubmit">;
55
+ }, "strict", z.ZodTypeAny, {
56
+ projectId: string;
57
+ agentId: string | null;
58
+ sessionId: string | null;
59
+ tmuxSessionName: string;
60
+ hookEventName: "UserPromptSubmit";
61
+ providerName?: string | undefined;
62
+ model?: string | undefined;
63
+ claudeSessionId?: string | undefined;
64
+ providerSessionId?: string | undefined;
65
+ permissionMode?: string | undefined;
66
+ transcriptPath?: string | undefined;
67
+ firedAtMs?: number | undefined;
68
+ }, {
69
+ projectId: string;
70
+ agentId: string | null;
71
+ sessionId: string | null;
72
+ tmuxSessionName: string;
73
+ hookEventName: "UserPromptSubmit";
74
+ providerName?: string | undefined;
75
+ model?: string | undefined;
76
+ claudeSessionId?: string | undefined;
77
+ providerSessionId?: string | undefined;
78
+ permissionMode?: string | undefined;
79
+ transcriptPath?: string | undefined;
80
+ firedAtMs?: number | undefined;
81
+ }>;
42
82
  export declare const StopHookSchema: z.ZodObject<{
43
83
  providerName: z.ZodOptional<z.ZodString>;
44
84
  providerSessionId: z.ZodOptional<z.ZodString>;
@@ -50,6 +90,7 @@ export declare const StopHookSchema: z.ZodObject<{
50
90
  model: z.ZodOptional<z.ZodString>;
51
91
  permissionMode: z.ZodOptional<z.ZodString>;
52
92
  transcriptPath: z.ZodOptional<z.ZodString>;
93
+ firedAtMs: z.ZodOptional<z.ZodNumber>;
53
94
  hookEventName: z.ZodLiteral<"Stop">;
54
95
  stopReason: z.ZodOptional<z.ZodString>;
55
96
  }, "strict", z.ZodTypeAny, {
@@ -64,6 +105,7 @@ export declare const StopHookSchema: z.ZodObject<{
64
105
  providerSessionId?: string | undefined;
65
106
  permissionMode?: string | undefined;
66
107
  transcriptPath?: string | undefined;
108
+ firedAtMs?: number | undefined;
67
109
  stopReason?: string | undefined;
68
110
  }, {
69
111
  projectId: string;
@@ -77,6 +119,7 @@ export declare const StopHookSchema: z.ZodObject<{
77
119
  providerSessionId?: string | undefined;
78
120
  permissionMode?: string | undefined;
79
121
  transcriptPath?: string | undefined;
122
+ firedAtMs?: number | undefined;
80
123
  stopReason?: string | undefined;
81
124
  }>;
82
125
  export declare const PreToolUseHookSchema: z.ZodObject<{
@@ -249,6 +292,46 @@ export declare const HookEventSchema: z.ZodDiscriminatedUnion<"hookEventName", [
249
292
  model: z.ZodOptional<z.ZodString>;
250
293
  permissionMode: z.ZodOptional<z.ZodString>;
251
294
  transcriptPath: z.ZodOptional<z.ZodString>;
295
+ firedAtMs: z.ZodOptional<z.ZodNumber>;
296
+ hookEventName: z.ZodLiteral<"UserPromptSubmit">;
297
+ }, "strict", z.ZodTypeAny, {
298
+ projectId: string;
299
+ agentId: string | null;
300
+ sessionId: string | null;
301
+ tmuxSessionName: string;
302
+ hookEventName: "UserPromptSubmit";
303
+ providerName?: string | undefined;
304
+ model?: string | undefined;
305
+ claudeSessionId?: string | undefined;
306
+ providerSessionId?: string | undefined;
307
+ permissionMode?: string | undefined;
308
+ transcriptPath?: string | undefined;
309
+ firedAtMs?: number | undefined;
310
+ }, {
311
+ projectId: string;
312
+ agentId: string | null;
313
+ sessionId: string | null;
314
+ tmuxSessionName: string;
315
+ hookEventName: "UserPromptSubmit";
316
+ providerName?: string | undefined;
317
+ model?: string | undefined;
318
+ claudeSessionId?: string | undefined;
319
+ providerSessionId?: string | undefined;
320
+ permissionMode?: string | undefined;
321
+ transcriptPath?: string | undefined;
322
+ firedAtMs?: number | undefined;
323
+ }>, z.ZodObject<{
324
+ providerName: z.ZodOptional<z.ZodString>;
325
+ providerSessionId: z.ZodOptional<z.ZodString>;
326
+ tmuxSessionName: z.ZodString;
327
+ projectId: z.ZodString;
328
+ agentId: z.ZodNullable<z.ZodString>;
329
+ sessionId: z.ZodNullable<z.ZodString>;
330
+ claudeSessionId: z.ZodOptional<z.ZodString>;
331
+ model: z.ZodOptional<z.ZodString>;
332
+ permissionMode: z.ZodOptional<z.ZodString>;
333
+ transcriptPath: z.ZodOptional<z.ZodString>;
334
+ firedAtMs: z.ZodOptional<z.ZodNumber>;
252
335
  hookEventName: z.ZodLiteral<"Stop">;
253
336
  stopReason: z.ZodOptional<z.ZodString>;
254
337
  }, "strict", z.ZodTypeAny, {
@@ -263,6 +346,7 @@ export declare const HookEventSchema: z.ZodDiscriminatedUnion<"hookEventName", [
263
346
  providerSessionId?: string | undefined;
264
347
  permissionMode?: string | undefined;
265
348
  transcriptPath?: string | undefined;
349
+ firedAtMs?: number | undefined;
266
350
  stopReason?: string | undefined;
267
351
  }, {
268
352
  projectId: string;
@@ -276,6 +360,7 @@ export declare const HookEventSchema: z.ZodDiscriminatedUnion<"hookEventName", [
276
360
  providerSessionId?: string | undefined;
277
361
  permissionMode?: string | undefined;
278
362
  transcriptPath?: string | undefined;
363
+ firedAtMs?: number | undefined;
279
364
  stopReason?: string | undefined;
280
365
  }>, z.ZodObject<{
281
366
  providerName: z.ZodOptional<z.ZodString>;
@@ -396,6 +481,7 @@ export declare const HookEventSchema: z.ZodDiscriminatedUnion<"hookEventName", [
396
481
  hookEventName: "StatusLine";
397
482
  }>]>;
398
483
  export type SessionStartHookEvent = z.infer<typeof SessionStartHookSchema>;
484
+ export type UserPromptSubmitHookEvent = z.infer<typeof UserPromptSubmitHookSchema>;
399
485
  export type StopHookEvent = z.infer<typeof StopHookSchema>;
400
486
  export type PreToolUseHookEvent = z.infer<typeof PreToolUseHookSchema>;
401
487
  export type PostToolUseHookEvent = z.infer<typeof PostToolUseHookSchema>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HookEventSchema = exports.StatusLineHookSchema = exports.PostToolUseHookSchema = exports.PreToolUseHookSchema = exports.StopHookSchema = exports.SessionStartHookSchema = void 0;
3
+ exports.HookEventSchema = exports.StatusLineHookSchema = exports.PostToolUseHookSchema = exports.PreToolUseHookSchema = exports.StopHookSchema = exports.UserPromptSubmitHookSchema = exports.SessionStartHookSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const runtime_context_capture_types_1 = require("../../runtime-context-capture/runtime-context-capture.types");
6
6
  const baseInjectedFields = {
@@ -27,10 +27,23 @@ exports.SessionStartHookSchema = zod_1.z
27
27
  ...baseInjectedFields,
28
28
  })
29
29
  .strict();
30
+ const turnHookFields = {
31
+ firedAtMs: zod_1.z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER).optional(),
32
+ };
33
+ exports.UserPromptSubmitHookSchema = zod_1.z
34
+ .object({
35
+ hookEventName: zod_1.z.literal('UserPromptSubmit'),
36
+ ...turnHookFields,
37
+ ...claudeMetaFields,
38
+ ...claudeSessionIdOptional,
39
+ ...baseInjectedFields,
40
+ })
41
+ .strict();
30
42
  exports.StopHookSchema = zod_1.z
31
43
  .object({
32
44
  hookEventName: zod_1.z.literal('Stop'),
33
45
  stopReason: zod_1.z.string().min(1).optional(),
46
+ ...turnHookFields,
34
47
  ...claudeMetaFields,
35
48
  ...claudeSessionIdOptional,
36
49
  ...baseInjectedFields,
@@ -76,6 +89,7 @@ exports.StatusLineHookSchema = zod_1.z
76
89
  .strict();
77
90
  exports.HookEventSchema = zod_1.z.discriminatedUnion('hookEventName', [
78
91
  exports.SessionStartHookSchema,
92
+ exports.UserPromptSubmitHookSchema,
79
93
  exports.StopHookSchema,
80
94
  exports.PreToolUseHookSchema,
81
95
  exports.PostToolUseHookSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"hook-event.dto.js","sourceRoot":"","sources":["../../../../src/modules/hooks/dtos/hook-event.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-event.dto.js","sourceRoot":"","sources":["../../../../src/modules/hooks/dtos/hook-event.dto.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ const logger_1 = require("../../../common/logging/logger");
14
14
  const logger = (0, logger_1.createLogger)('HooksConfigService');
15
15
  const SETTINGS_FILE_MODE = 0o600;
16
16
  const SCRIPT_FILE_MODE = 0o755;
17
+ const TURN_HOOK_TIMEOUT_SEC = 2;
17
18
  const RELAY_SCRIPT_CONTENT = `#!/bin/bash
18
19
  # DevChain relay script — bridges Claude Code hooks to DevChain's event API.
19
20
  # Auto-generated by DevChain. Do not edit manually.
@@ -44,6 +45,16 @@ if [ -z "$TMUX_SESSION" ]; then
44
45
  exit 0
45
46
  fi
46
47
 
48
+ # Hook time in epoch ms orders turn hooks that arrive out of order. BSD date has no %N, so
49
+ # use perl there, and whole seconds as the last resort.
50
+ FIRED_AT_MS="$(date +%s%3N 2>/dev/null || true)"
51
+ case "$FIRED_AT_MS" in
52
+ ''|*[!0-9]*) FIRED_AT_MS="$(perl -MTime::HiRes=time -e 'printf("%d", time() * 1000)' 2>/dev/null || true)" ;;
53
+ esac
54
+ case "$FIRED_AT_MS" in
55
+ ''|*[!0-9]*) FIRED_AT_MS="$(( $(date +%s) * 1000 ))" ;;
56
+ esac
57
+
47
58
  # Build combined payload: Claude Code fields + DevChain env vars.
48
59
  # Tool fields (PreToolUse/PostToolUse) are forwarded with --argjson so the
49
60
  # questions OBJECT is preserved (never stringified). tool_response is size-capped
@@ -68,6 +79,7 @@ PAYLOAD="$(echo "$INPUT" | jq \\
68
79
  --arg projectId "\${DEVCHAIN_PROJECT_ID:-}" \\
69
80
  --arg agentId "\${DEVCHAIN_AGENT_ID:-}" \\
70
81
  --arg sessionId "\${DEVCHAIN_SESSION_ID:-}" \\
82
+ --argjson firedAtMs "$FIRED_AT_MS" \\
71
83
  '{
72
84
  hookEventName: \$hookEventName,
73
85
  claudeSessionId: \$claudeSessionId,
@@ -84,8 +96,22 @@ PAYLOAD="$(echo "$INPUT" | jq \\
84
96
  + (if \$toolInput != null then {toolInput: \$toolInput} else {} end)
85
97
  + (if \$toolUseId != "" then {toolUseId: \$toolUseId} else {} end)
86
98
  + (if \$toolResponse != null then {toolResponse: \$toolResponse} else {} end)
99
+ + (if (\$hookEventName == "UserPromptSubmit" or \$hookEventName == "Stop")
100
+ then {firedAtMs: \$firedAtMs} else {} end)
87
101
  ')" || exit 0
88
102
 
103
+ # Turn hooks: fire and forget. The detached POST outlives this script; nothing waits for it.
104
+ case "$HOOK_EVENT_NAME" in
105
+ UserPromptSubmit|Stop)
106
+ curl -s -o /dev/null -X POST \\
107
+ -H "Content-Type: application/json" \\
108
+ -d "$PAYLOAD" \\
109
+ "\${DEVCHAIN_API_URL}/api/hooks/events" \\
110
+ --max-time 2 </dev/null >/dev/null 2>&1 &
111
+ exit 0
112
+ ;;
113
+ esac
114
+
89
115
  # POST to DevChain API, capture response
90
116
  RESPONSE="$(curl -s -f -X POST \\
91
117
  -H "Content-Type: application/json" \\
@@ -176,11 +202,14 @@ let HooksConfigService = class HooksConfigService {
176
202
  command: `"${relayScriptPath}"`,
177
203
  timeout: 10,
178
204
  };
205
+ const turnHook = { ...devchainHook, timeout: TURN_HOOK_TIMEOUT_SEC };
179
206
  if (!settings.hooks || typeof settings.hooks !== 'object') {
180
207
  settings.hooks = {};
181
208
  }
182
209
  const hooks = settings.hooks;
183
210
  this.mergeHookGroup(hooks, 'SessionStart', undefined, devchainHook);
211
+ this.mergeHookGroup(hooks, 'UserPromptSubmit', undefined, turnHook);
212
+ this.mergeHookGroup(hooks, 'Stop', undefined, turnHook);
184
213
  this.mergeHookGroup(hooks, 'PreToolUse', 'AskUserQuestion', devchainHook);
185
214
  this.mergeHookGroup(hooks, 'PostToolUse', 'AskUserQuestion', devchainHook);
186
215
  const output = JSON.stringify(settings, null, 2) + '\n';
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-config.service.js","sourceRoot":"","sources":["../../../../src/modules/hooks/services/hooks-config.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-config.service.js","sourceRoot":"","sources":["../../../../src/modules/hooks/services/hooks-config.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { EventEmitter2 } from '@nestjs/event-emitter';
1
2
  import { type AgentStorage } from '../../storage/interfaces/storage.interface';
2
3
  import { EventsService } from '../../events/services/events.service';
3
4
  import type { HookEventData, HookEventResponse } from '../dtos/hook-event.dto';
@@ -8,10 +9,13 @@ export declare class HooksService {
8
9
  private readonly events;
9
10
  private readonly pendingAskQuestions;
10
11
  private readonly runtimeContextCapture;
11
- constructor(storage: AgentStorage, events: EventsService, pendingAskQuestions: PendingAskUserQuestionService, runtimeContextCapture: RuntimeContextCaptureService);
12
+ private readonly eventEmitter;
13
+ constructor(storage: AgentStorage, events: EventsService, pendingAskQuestions: PendingAskUserQuestionService, runtimeContextCapture: RuntimeContextCaptureService, eventEmitter: EventEmitter2);
12
14
  handleHookEvent(data: HookEventData): Promise<HookEventResponse>;
13
15
  private handleStatusLine;
16
+ private handleUserPromptSubmit;
14
17
  private handleStop;
18
+ private signalTurn;
15
19
  private handlePreToolUse;
16
20
  private handlePostToolUse;
17
21
  private handleSessionStart;