@revisium/orchestrator 0.1.0-alpha.4 → 0.1.0-alpha.6

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 (465) hide show
  1. package/README.md +149 -1
  2. package/control-plane/bootstrap.config.json +1 -0
  3. package/control-plane/default-playbook/catalog/pipelines.json +289 -52
  4. package/control-plane/default-playbook/catalog/roles.json +9 -0
  5. package/control-plane/default-playbook/prompts/analyst.md +3 -1
  6. package/control-plane/default-playbook/prompts/reviewer.md +2 -2
  7. package/control-plane/default-playbook/prompts/triager.md +51 -0
  8. package/control-plane/default-playbook/prompts/watcher.md +2 -2
  9. package/dist/api/graphql-api/filters/agent-observability-exception.filter.js +24 -0
  10. package/dist/api/graphql-api/filters/agent-observability-exception.filter.js.map +1 -0
  11. package/dist/api/graphql-api/filters/graphql-validation-exception.filter.js +36 -0
  12. package/dist/api/graphql-api/filters/graphql-validation-exception.filter.js.map +1 -0
  13. package/dist/api/graphql-api/graphql-api.module.js +77 -0
  14. package/dist/api/graphql-api/graphql-api.module.js.map +1 -0
  15. package/dist/api/graphql-api/graphql-ws/agent-observability-subscription-bridge.service.js +296 -0
  16. package/dist/api/graphql-api/graphql-ws/agent-observability-subscription-bridge.service.js.map +1 -0
  17. package/dist/api/graphql-api/graphql-ws/agent-observability-subscription-mappers.js +64 -0
  18. package/dist/api/graphql-api/graphql-ws/agent-observability-subscription-mappers.js.map +1 -0
  19. package/dist/api/graphql-api/graphql-ws/constants.js +11 -0
  20. package/dist/api/graphql-api/graphql-ws/constants.js.map +1 -0
  21. package/dist/api/graphql-api/graphql-ws/pubsub.module.js +32 -0
  22. package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -0
  23. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +101 -0
  24. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -0
  25. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +115 -0
  26. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -0
  27. package/dist/api/graphql-api/graphql-ws/subscription-mappers.js +85 -0
  28. package/dist/api/graphql-api/graphql-ws/subscription-mappers.js.map +1 -0
  29. package/dist/api/graphql-api/graphql-ws/ws.js +22 -0
  30. package/dist/api/graphql-api/graphql-ws/ws.js.map +1 -0
  31. package/dist/api/graphql-api/inbox/inbox-subscription.resolver.js +56 -0
  32. package/dist/api/graphql-api/inbox/inbox-subscription.resolver.js.map +1 -0
  33. package/dist/api/graphql-api/inbox/inbox.resolver.js +125 -0
  34. package/dist/api/graphql-api/inbox/inbox.resolver.js.map +1 -0
  35. package/dist/api/graphql-api/inbox/inputs/answer-question.input.js +33 -0
  36. package/dist/api/graphql-api/inbox/inputs/answer-question.input.js.map +1 -0
  37. package/dist/api/graphql-api/inbox/inputs/gate-decision.input.js +27 -0
  38. package/dist/api/graphql-api/inbox/inputs/gate-decision.input.js.map +1 -0
  39. package/dist/api/graphql-api/inbox/inputs/list-inbox.input.js +28 -0
  40. package/dist/api/graphql-api/inbox/inputs/list-inbox.input.js.map +1 -0
  41. package/dist/api/graphql-api/inbox/inputs/resolve-inbox-item.input.js +38 -0
  42. package/dist/api/graphql-api/inbox/inputs/resolve-inbox-item.input.js.map +1 -0
  43. package/dist/api/graphql-api/inbox/model/gate-risk.model.js +53 -0
  44. package/dist/api/graphql-api/inbox/model/gate-risk.model.js.map +1 -0
  45. package/dist/api/graphql-api/inbox/model/inbox-connection.model.js +16 -0
  46. package/dist/api/graphql-api/inbox/model/inbox-connection.model.js.map +1 -0
  47. package/dist/api/graphql-api/inbox/model/inbox-item.model.js +88 -0
  48. package/dist/api/graphql-api/inbox/model/inbox-item.model.js.map +1 -0
  49. package/dist/api/graphql-api/inbox/model/inbox-resolution.model.js +48 -0
  50. package/dist/api/graphql-api/inbox/model/inbox-resolution.model.js.map +1 -0
  51. package/dist/api/graphql-api/method/inputs/list-method.input.js +15 -0
  52. package/dist/api/graphql-api/method/inputs/list-method.input.js.map +1 -0
  53. package/dist/api/graphql-api/method/method.resolver.js +90 -0
  54. package/dist/api/graphql-api/method/method.resolver.js.map +1 -0
  55. package/dist/api/graphql-api/method/model/alternative-role-group.model.js +32 -0
  56. package/dist/api/graphql-api/method/model/alternative-role-group.model.js.map +1 -0
  57. package/dist/api/graphql-api/method/model/pipeline-connection.model.js +16 -0
  58. package/dist/api/graphql-api/method/model/pipeline-connection.model.js.map +1 -0
  59. package/dist/api/graphql-api/method/model/pipeline.model.js +69 -0
  60. package/dist/api/graphql-api/method/model/pipeline.model.js.map +1 -0
  61. package/dist/api/graphql-api/method/model/playbook-connection.model.js +16 -0
  62. package/dist/api/graphql-api/method/model/playbook-connection.model.js.map +1 -0
  63. package/dist/api/graphql-api/method/model/playbook.model.js +47 -0
  64. package/dist/api/graphql-api/method/model/playbook.model.js.map +1 -0
  65. package/dist/api/graphql-api/method/model/role-connection.model.js +16 -0
  66. package/dist/api/graphql-api/method/model/role-connection.model.js.map +1 -0
  67. package/dist/api/graphql-api/method/model/role.model.js +98 -0
  68. package/dist/api/graphql-api/method/model/role.model.js.map +1 -0
  69. package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js +52 -0
  70. package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js.map +1 -0
  71. package/dist/api/graphql-api/pr/model/pr-readiness.model.js +403 -0
  72. package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -0
  73. package/dist/api/graphql-api/pr/pr.resolver.js +76 -0
  74. package/dist/api/graphql-api/pr/pr.resolver.js.map +1 -0
  75. package/dist/api/graphql-api/registerGraphqlEnums.js +9 -0
  76. package/dist/api/graphql-api/registerGraphqlEnums.js.map +1 -0
  77. package/dist/api/graphql-api/runs/inputs/create-run.input.js +63 -0
  78. package/dist/api/graphql-api/runs/inputs/create-run.input.js.map +1 -0
  79. package/dist/api/graphql-api/runs/inputs/get-agent-log.input.js +48 -0
  80. package/dist/api/graphql-api/runs/inputs/get-agent-log.input.js.map +1 -0
  81. package/dist/api/graphql-api/runs/inputs/get-run-attempts.input.js +32 -0
  82. package/dist/api/graphql-api/runs/inputs/get-run-attempts.input.js.map +1 -0
  83. package/dist/api/graphql-api/runs/inputs/get-run-events.input.js +28 -0
  84. package/dist/api/graphql-api/runs/inputs/get-run-events.input.js.map +1 -0
  85. package/dist/api/graphql-api/runs/inputs/list-runs.input.js +23 -0
  86. package/dist/api/graphql-api/runs/inputs/list-runs.input.js.map +1 -0
  87. package/dist/api/graphql-api/runs/inputs/simulate-route.input.js +43 -0
  88. package/dist/api/graphql-api/runs/inputs/simulate-route.input.js.map +1 -0
  89. package/dist/api/graphql-api/runs/model/agent-activity.model.js +367 -0
  90. package/dist/api/graphql-api/runs/model/agent-activity.model.js.map +1 -0
  91. package/dist/api/graphql-api/runs/model/create-run-result.model.js +53 -0
  92. package/dist/api/graphql-api/runs/model/create-run-result.model.js.map +1 -0
  93. package/dist/api/graphql-api/runs/model/run-attempt.model.js +114 -0
  94. package/dist/api/graphql-api/runs/model/run-attempt.model.js.map +1 -0
  95. package/dist/api/graphql-api/runs/model/run-connection.model.js +16 -0
  96. package/dist/api/graphql-api/runs/model/run-connection.model.js.map +1 -0
  97. package/dist/api/graphql-api/runs/model/run-cost.model.js +67 -0
  98. package/dist/api/graphql-api/runs/model/run-cost.model.js.map +1 -0
  99. package/dist/api/graphql-api/runs/model/run-digest.model.js +41 -0
  100. package/dist/api/graphql-api/runs/model/run-digest.model.js.map +1 -0
  101. package/dist/api/graphql-api/runs/model/run-event-connection.model.js +16 -0
  102. package/dist/api/graphql-api/runs/model/run-event-connection.model.js.map +1 -0
  103. package/dist/api/graphql-api/runs/model/run-event.model.js +58 -0
  104. package/dist/api/graphql-api/runs/model/run-event.model.js.map +1 -0
  105. package/dist/api/graphql-api/runs/model/run-progress.model.js +33 -0
  106. package/dist/api/graphql-api/runs/model/run-progress.model.js.map +1 -0
  107. package/dist/api/graphql-api/runs/model/run-workflow.model.js +287 -0
  108. package/dist/api/graphql-api/runs/model/run-workflow.model.js.map +1 -0
  109. package/dist/api/graphql-api/runs/model/run.model.js +57 -0
  110. package/dist/api/graphql-api/runs/model/run.model.js.map +1 -0
  111. package/dist/api/graphql-api/runs/model/usage.model.js +32 -0
  112. package/dist/api/graphql-api/runs/model/usage.model.js.map +1 -0
  113. package/dist/api/graphql-api/runs/run-digest.resolver.js +40 -0
  114. package/dist/api/graphql-api/runs/run-digest.resolver.js.map +1 -0
  115. package/dist/api/graphql-api/runs/run-events.resolver.js +45 -0
  116. package/dist/api/graphql-api/runs/run-events.resolver.js.map +1 -0
  117. package/dist/api/graphql-api/runs/run-progress.resolver.js +53 -0
  118. package/dist/api/graphql-api/runs/run-progress.resolver.js.map +1 -0
  119. package/dist/api/graphql-api/runs/runs-subscription.resolver.js +124 -0
  120. package/dist/api/graphql-api/runs/runs-subscription.resolver.js.map +1 -0
  121. package/dist/api/graphql-api/runs/runs.resolver.js +165 -0
  122. package/dist/api/graphql-api/runs/runs.resolver.js.map +1 -0
  123. package/dist/api/graphql-api/share/graphql-param-types.js +6 -0
  124. package/dist/api/graphql-api/share/graphql-param-types.js.map +1 -0
  125. package/dist/api/graphql-api/share/inputs/connection.input.js +27 -0
  126. package/dist/api/graphql-api/share/inputs/connection.input.js.map +1 -0
  127. package/dist/api/graphql-api/share/inputs/run-subscription.input.js +22 -0
  128. package/dist/api/graphql-api/share/inputs/run-subscription.input.js.map +1 -0
  129. package/dist/api/graphql-api/share/model/paginated.model.js +75 -0
  130. package/dist/api/graphql-api/share/model/paginated.model.js.map +1 -0
  131. package/dist/api/graphql-api/system/model/daemon-status.model.js +47 -0
  132. package/dist/api/graphql-api/system/model/daemon-status.model.js.map +1 -0
  133. package/dist/api/graphql-api/system/model/doctor-result.model.js +33 -0
  134. package/dist/api/graphql-api/system/model/doctor-result.model.js.map +1 -0
  135. package/dist/api/graphql-api/system/model/project.model.js +37 -0
  136. package/dist/api/graphql-api/system/model/project.model.js.map +1 -0
  137. package/dist/api/graphql-api/system/model/repository-context.model.js +70 -0
  138. package/dist/api/graphql-api/system/model/repository-context.model.js.map +1 -0
  139. package/dist/api/graphql-api/system/model/repository-validation.model.js +62 -0
  140. package/dist/api/graphql-api/system/model/repository-validation.model.js.map +1 -0
  141. package/dist/api/graphql-api/system/model/system-status.model.js +29 -0
  142. package/dist/api/graphql-api/system/model/system-status.model.js.map +1 -0
  143. package/dist/api/graphql-api/system/system.resolver.js +83 -0
  144. package/dist/api/graphql-api/system/system.resolver.js.map +1 -0
  145. package/dist/cli/commands/doctor-report.js +39 -0
  146. package/dist/cli/commands/doctor-report.js.map +1 -0
  147. package/dist/cli/commands/lifecycle.js +237 -0
  148. package/dist/cli/commands/lifecycle.js.map +1 -0
  149. package/dist/cli/commands/mcp.js +46 -8
  150. package/dist/cli/commands/mcp.js.map +1 -1
  151. package/dist/cli/commands/revisium-helpers.js +2 -2
  152. package/dist/cli/index.js +5 -29
  153. package/dist/cli/index.js.map +1 -1
  154. package/dist/cli/program.js +7 -21
  155. package/dist/cli/program.js.map +1 -1
  156. package/dist/config.js +57 -5
  157. package/dist/config.js.map +1 -1
  158. package/dist/control-plane/bootstrap.js +93 -0
  159. package/dist/control-plane/bootstrap.js.map +1 -0
  160. package/dist/control-plane/change-notifications.js +35 -0
  161. package/dist/control-plane/change-notifications.js.map +1 -0
  162. package/dist/control-plane/data-access.js +10 -3
  163. package/dist/control-plane/data-access.js.map +1 -1
  164. package/dist/control-plane/inbox.js +5 -31
  165. package/dist/control-plane/inbox.js.map +1 -1
  166. package/dist/control-plane/index.js +1 -1
  167. package/dist/control-plane/index.js.map +1 -1
  168. package/dist/control-plane/resolve-cwd.js +76 -8
  169. package/dist/control-plane/resolve-cwd.js.map +1 -1
  170. package/dist/control-plane/schema-migration.js +7 -11
  171. package/dist/control-plane/schema-migration.js.map +1 -1
  172. package/dist/control-plane/seed-default-playbook.js +23 -0
  173. package/dist/control-plane/seed-default-playbook.js.map +1 -1
  174. package/dist/control-plane/steps.js +15 -349
  175. package/dist/control-plane/steps.js.map +1 -1
  176. package/dist/e2e/kit/agents.js +43 -8
  177. package/dist/e2e/kit/agents.js.map +1 -1
  178. package/dist/e2e/kit/assertions.js +57 -14
  179. package/dist/e2e/kit/assertions.js.map +1 -1
  180. package/dist/e2e/kit/drive.js +0 -4
  181. package/dist/e2e/kit/drive.js.map +1 -1
  182. package/dist/e2e/kit/fake-integrator.js +16 -1
  183. package/dist/e2e/kit/fake-integrator.js.map +1 -1
  184. package/dist/e2e/kit/gh-emulator.js +173 -10
  185. package/dist/e2e/kit/gh-emulator.js.map +1 -1
  186. package/dist/e2e/kit/git-target-repo.js +35 -3
  187. package/dist/e2e/kit/git-target-repo.js.map +1 -1
  188. package/dist/e2e/kit/harness.js +16 -3
  189. package/dist/e2e/kit/harness.js.map +1 -1
  190. package/dist/e2e/kit/scenarios.js +1 -1
  191. package/dist/e2e/recovery-dd-crash-child.js +3 -2
  192. package/dist/e2e/recovery-dd-crash-child.js.map +1 -1
  193. package/dist/engine/dbos.module.js +2 -1
  194. package/dist/engine/dbos.module.js.map +1 -1
  195. package/dist/engine/dbos.service.js +89 -18
  196. package/dist/engine/dbos.service.js.map +1 -1
  197. package/dist/engine/ensure-postgres.js +11 -9
  198. package/dist/engine/ensure-postgres.js.map +1 -1
  199. package/dist/features/inbox/commands/handlers/inbox-command.handlers.js +80 -0
  200. package/dist/features/inbox/commands/handlers/inbox-command.handlers.js.map +1 -0
  201. package/dist/features/inbox/commands/impl/answer-question.command.js +7 -0
  202. package/dist/features/inbox/commands/impl/answer-question.command.js.map +1 -0
  203. package/dist/features/inbox/commands/impl/approve-gate.command.js +7 -0
  204. package/dist/features/inbox/commands/impl/approve-gate.command.js.map +1 -0
  205. package/dist/features/inbox/commands/impl/reject-gate.command.js +7 -0
  206. package/dist/features/inbox/commands/impl/reject-gate.command.js.map +1 -0
  207. package/dist/features/inbox/commands/impl/resolve-inbox-item.command.js +7 -0
  208. package/dist/features/inbox/commands/impl/resolve-inbox-item.command.js.map +1 -0
  209. package/dist/features/inbox/commands/index.js +8 -0
  210. package/dist/features/inbox/commands/index.js.map +1 -0
  211. package/dist/features/inbox/inbox-api.module.js +23 -0
  212. package/dist/features/inbox/inbox-api.module.js.map +1 -0
  213. package/dist/features/inbox/inbox-api.service.js +63 -0
  214. package/dist/features/inbox/inbox-api.service.js.map +1 -0
  215. package/dist/features/inbox/queries/handlers/inbox-query.handlers.js +111 -0
  216. package/dist/features/inbox/queries/handlers/inbox-query.handlers.js.map +1 -0
  217. package/dist/features/inbox/queries/impl/get-inbox-item.query.js +7 -0
  218. package/dist/features/inbox/queries/impl/get-inbox-item.query.js.map +1 -0
  219. package/dist/features/inbox/queries/impl/get-pending-decisions.query.js +7 -0
  220. package/dist/features/inbox/queries/impl/get-pending-decisions.query.js.map +1 -0
  221. package/dist/features/inbox/queries/impl/list-inbox.query.js +7 -0
  222. package/dist/features/inbox/queries/impl/list-inbox.query.js.map +1 -0
  223. package/dist/features/inbox/queries/impl/summarize-gate-risk.query.js +7 -0
  224. package/dist/features/inbox/queries/impl/summarize-gate-risk.query.js.map +1 -0
  225. package/dist/features/inbox/queries/index.js +8 -0
  226. package/dist/features/inbox/queries/index.js.map +1 -0
  227. package/dist/features/method/commands/index.js +2 -0
  228. package/dist/features/method/commands/index.js.map +1 -0
  229. package/dist/features/method/method-api.module.js +23 -0
  230. package/dist/features/method/method-api.module.js.map +1 -0
  231. package/dist/features/method/method-api.service.js +47 -0
  232. package/dist/features/method/method-api.service.js.map +1 -0
  233. package/dist/features/method/queries/handlers/method-query.handlers.js +115 -0
  234. package/dist/features/method/queries/handlers/method-query.handlers.js.map +1 -0
  235. package/dist/features/method/queries/impl/get-pipeline.query.js +7 -0
  236. package/dist/features/method/queries/impl/get-pipeline.query.js.map +1 -0
  237. package/dist/features/method/queries/impl/get-role.query.js +7 -0
  238. package/dist/features/method/queries/impl/get-role.query.js.map +1 -0
  239. package/dist/features/method/queries/impl/list-pipelines.query.js +7 -0
  240. package/dist/features/method/queries/impl/list-pipelines.query.js.map +1 -0
  241. package/dist/features/method/queries/impl/list-playbooks.query.js +7 -0
  242. package/dist/features/method/queries/impl/list-playbooks.query.js.map +1 -0
  243. package/dist/features/method/queries/impl/list-roles.query.js +7 -0
  244. package/dist/features/method/queries/impl/list-roles.query.js.map +1 -0
  245. package/dist/features/method/queries/index.js +9 -0
  246. package/dist/features/method/queries/index.js.map +1 -0
  247. package/dist/features/pr/commands/index.js +2 -0
  248. package/dist/features/pr/commands/index.js.map +1 -0
  249. package/dist/features/pr/pr-api.module.js +23 -0
  250. package/dist/features/pr/pr-api.module.js.map +1 -0
  251. package/dist/features/pr/pr-api.service.js +35 -0
  252. package/dist/features/pr/pr-api.service.js.map +1 -0
  253. package/dist/features/pr/queries/handlers/pr-query.handlers.js +48 -0
  254. package/dist/features/pr/queries/handlers/pr-query.handlers.js.map +1 -0
  255. package/dist/features/pr/queries/impl/get-pr-readiness.query.js +7 -0
  256. package/dist/features/pr/queries/impl/get-pr-readiness.query.js.map +1 -0
  257. package/dist/features/pr/queries/impl/list-pr-feedback.query.js +7 -0
  258. package/dist/features/pr/queries/impl/list-pr-feedback.query.js.map +1 -0
  259. package/dist/features/pr/queries/index.js +3 -0
  260. package/dist/features/pr/queries/index.js.map +1 -0
  261. package/dist/features/runs/commands/handlers/runs-command.handlers.js +32 -0
  262. package/dist/features/runs/commands/handlers/runs-command.handlers.js.map +1 -0
  263. package/dist/features/runs/commands/impl/create-run.command.js +7 -0
  264. package/dist/features/runs/commands/impl/create-run.command.js.map +1 -0
  265. package/dist/features/runs/commands/index.js +3 -0
  266. package/dist/features/runs/commands/index.js.map +1 -0
  267. package/dist/features/runs/queries/handlers/runs-query.handlers.js +359 -0
  268. package/dist/features/runs/queries/handlers/runs-query.handlers.js.map +1 -0
  269. package/dist/features/runs/queries/impl/get-agent-activity.query.js +7 -0
  270. package/dist/features/runs/queries/impl/get-agent-activity.query.js.map +1 -0
  271. package/dist/features/runs/queries/impl/get-agent-attempts.query.js +7 -0
  272. package/dist/features/runs/queries/impl/get-agent-attempts.query.js.map +1 -0
  273. package/dist/features/runs/queries/impl/get-agent-log.query.js +7 -0
  274. package/dist/features/runs/queries/impl/get-agent-log.query.js.map +1 -0
  275. package/dist/features/runs/queries/impl/get-run-attempts.query.js +7 -0
  276. package/dist/features/runs/queries/impl/get-run-attempts.query.js.map +1 -0
  277. package/dist/features/runs/queries/impl/get-run-digest.query.js +7 -0
  278. package/dist/features/runs/queries/impl/get-run-digest.query.js.map +1 -0
  279. package/dist/features/runs/queries/impl/get-run-events.query.js +7 -0
  280. package/dist/features/runs/queries/impl/get-run-events.query.js.map +1 -0
  281. package/dist/features/runs/queries/impl/get-run-progress.query.js +7 -0
  282. package/dist/features/runs/queries/impl/get-run-progress.query.js.map +1 -0
  283. package/dist/features/runs/queries/impl/get-run-workflow.query.js +7 -0
  284. package/dist/features/runs/queries/impl/get-run-workflow.query.js.map +1 -0
  285. package/dist/features/runs/queries/impl/get-run.query.js +7 -0
  286. package/dist/features/runs/queries/impl/get-run.query.js.map +1 -0
  287. package/dist/features/runs/queries/impl/list-runs.query.js +7 -0
  288. package/dist/features/runs/queries/impl/list-runs.query.js.map +1 -0
  289. package/dist/features/runs/queries/impl/simulate-route.query.js +7 -0
  290. package/dist/features/runs/queries/impl/simulate-route.query.js.map +1 -0
  291. package/dist/features/runs/queries/index.js +15 -0
  292. package/dist/features/runs/queries/index.js.map +1 -0
  293. package/dist/features/runs/runs-api.module.js +23 -0
  294. package/dist/features/runs/runs-api.module.js.map +1 -0
  295. package/dist/features/runs/runs-api.service.js +79 -0
  296. package/dist/features/runs/runs-api.service.js.map +1 -0
  297. package/dist/features/shared/connection.js +39 -0
  298. package/dist/features/shared/connection.js.map +1 -0
  299. package/dist/features/system/commands/index.js +2 -0
  300. package/dist/features/system/commands/index.js.map +1 -0
  301. package/dist/features/system/queries/handlers/system-query.handlers.js +96 -0
  302. package/dist/features/system/queries/handlers/system-query.handlers.js.map +1 -0
  303. package/dist/features/system/queries/impl/doctor.query.js +4 -0
  304. package/dist/features/system/queries/impl/doctor.query.js.map +1 -0
  305. package/dist/features/system/queries/impl/get-project.query.js +4 -0
  306. package/dist/features/system/queries/impl/get-project.query.js.map +1 -0
  307. package/dist/features/system/queries/impl/get-repository-context.query.js +7 -0
  308. package/dist/features/system/queries/impl/get-repository-context.query.js.map +1 -0
  309. package/dist/features/system/queries/impl/get-status.query.js +4 -0
  310. package/dist/features/system/queries/impl/get-status.query.js.map +1 -0
  311. package/dist/features/system/queries/impl/validate-repository.query.js +7 -0
  312. package/dist/features/system/queries/impl/validate-repository.query.js.map +1 -0
  313. package/dist/features/system/queries/index.js +9 -0
  314. package/dist/features/system/queries/index.js.map +1 -0
  315. package/dist/features/system/system-api.module.js +23 -0
  316. package/dist/features/system/system-api.module.js.map +1 -0
  317. package/dist/features/system/system-api.service.js +47 -0
  318. package/dist/features/system/system-api.service.js.map +1 -0
  319. package/dist/host/daemon.js +68 -0
  320. package/dist/host/daemon.js.map +1 -0
  321. package/dist/host/ensure-host.js +109 -0
  322. package/dist/host/ensure-host.js.map +1 -0
  323. package/dist/host/host-runtime.js +52 -0
  324. package/dist/host/host-runtime.js.map +1 -0
  325. package/dist/host/host.lifecycle.js +16 -3
  326. package/dist/host/host.lifecycle.js.map +1 -1
  327. package/dist/http/graphql-host.js +56 -0
  328. package/dist/http/graphql-host.js.map +1 -0
  329. package/dist/{mcp/mcp.module.js → http/graphql-host.module.js} +12 -10
  330. package/dist/http/graphql-host.module.js.map +1 -0
  331. package/dist/infrastructure/metrics/graphql/graphql-metrics.js +91 -0
  332. package/dist/infrastructure/metrics/graphql/graphql-metrics.js.map +1 -0
  333. package/dist/mcp/mcp-capabilities.js +6 -1
  334. package/dist/mcp/mcp-capabilities.js.map +1 -1
  335. package/dist/mcp/mcp-facade.service.js +24 -0
  336. package/dist/mcp/mcp-facade.service.js.map +1 -1
  337. package/dist/mcp/mcp-http.service.js +95 -0
  338. package/dist/mcp/mcp-http.service.js.map +1 -0
  339. package/dist/mcp/mcp-tools.js +58 -0
  340. package/dist/mcp/mcp-tools.js.map +1 -1
  341. package/dist/observability/agent-activity-reporter.js +185 -0
  342. package/dist/observability/agent-activity-reporter.js.map +1 -0
  343. package/dist/observability/agent-observability.service.js +1142 -0
  344. package/dist/observability/agent-observability.service.js.map +1 -0
  345. package/dist/observability/index.js +4 -0
  346. package/dist/observability/index.js.map +1 -0
  347. package/dist/observability/types.js +11 -0
  348. package/dist/observability/types.js.map +1 -0
  349. package/dist/pipeline/await-human.js +8 -4
  350. package/dist/pipeline/await-human.js.map +1 -1
  351. package/dist/pipeline/data-driven-task.workflow.js +184 -73
  352. package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
  353. package/dist/pipeline/data-driven-template.js +3 -3
  354. package/dist/pipeline/pipeline.module.js +1 -1
  355. package/dist/pipeline/pipeline.module.js.map +1 -1
  356. package/dist/pipeline/{develop-task.workflow.js → pipeline.service.js} +97 -26
  357. package/dist/pipeline/pipeline.service.js.map +1 -0
  358. package/dist/pipeline-core/kit/fixtures.js +94 -0
  359. package/dist/pipeline-core/kit/fixtures.js.map +1 -1
  360. package/dist/pipeline-core/validate-capability.js +23 -0
  361. package/dist/pipeline-core/validate-capability.js.map +1 -0
  362. package/dist/pipeline-core/validate-conflicts.js +37 -0
  363. package/dist/pipeline-core/validate-conflicts.js.map +1 -0
  364. package/dist/pipeline-core/validate-dataflow.js +180 -0
  365. package/dist/pipeline-core/validate-dataflow.js.map +1 -0
  366. package/dist/pipeline-core/validate-diff.js +158 -0
  367. package/dist/pipeline-core/validate-diff.js.map +1 -0
  368. package/dist/pipeline-core/validate-edges.js +44 -0
  369. package/dist/pipeline-core/validate-edges.js.map +1 -0
  370. package/dist/pipeline-core/validate-graph.js +123 -0
  371. package/dist/pipeline-core/validate-graph.js.map +1 -0
  372. package/dist/pipeline-core/validate-loops.js +226 -0
  373. package/dist/pipeline-core/validate-loops.js.map +1 -0
  374. package/dist/pipeline-core/validate-parallel.js +132 -0
  375. package/dist/pipeline-core/validate-parallel.js.map +1 -0
  376. package/dist/pipeline-core/validate-sink.js +27 -0
  377. package/dist/pipeline-core/validate-sink.js.map +1 -0
  378. package/dist/pipeline-core/validate-topology.js +140 -0
  379. package/dist/pipeline-core/validate-topology.js.map +1 -0
  380. package/dist/pipeline-core/validate-verdict.js +72 -0
  381. package/dist/pipeline-core/validate-verdict.js.map +1 -0
  382. package/dist/pipeline-core/validate.js +34 -1107
  383. package/dist/pipeline-core/validate.js.map +1 -1
  384. package/dist/revisium/run.service.js +31 -8
  385. package/dist/revisium/run.service.js.map +1 -1
  386. package/dist/run/create-run.js +5 -31
  387. package/dist/run/create-run.js.map +1 -1
  388. package/dist/run/inspect-run.js +2 -29
  389. package/dist/run/inspect-run.js.map +1 -1
  390. package/dist/run/terminal-run-status.js +7 -30
  391. package/dist/run/terminal-run-status.js.map +1 -1
  392. package/dist/runners/claude-code.service.js +1 -0
  393. package/dist/runners/claude-code.service.js.map +1 -1
  394. package/dist/runners/codex.service.js +51 -0
  395. package/dist/runners/codex.service.js.map +1 -0
  396. package/dist/runners/integrator-branch-naming.js +24 -0
  397. package/dist/runners/integrator-branch-naming.js.map +1 -0
  398. package/dist/runners/integrator-git.js +84 -0
  399. package/dist/runners/integrator-git.js.map +1 -0
  400. package/dist/runners/integrator-remote.js +34 -0
  401. package/dist/runners/integrator-remote.js.map +1 -0
  402. package/dist/runners/integrator-types.js +9 -0
  403. package/dist/runners/integrator-types.js.map +1 -0
  404. package/dist/runners/integrator.js +250 -134
  405. package/dist/runners/integrator.js.map +1 -1
  406. package/dist/runners/runner.module.js +7 -3
  407. package/dist/runners/runner.module.js.map +1 -1
  408. package/dist/runners/worktree.service.js +63 -0
  409. package/dist/runners/worktree.service.js.map +1 -0
  410. package/dist/smoke/cli.js +47 -0
  411. package/dist/smoke/cli.js.map +1 -0
  412. package/dist/smoke/isolation.js +113 -0
  413. package/dist/smoke/isolation.js.map +1 -0
  414. package/dist/task-control-plane/task-control-plane-api.service.js +317 -4
  415. package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
  416. package/dist/task-control-plane/task-control-plane.module.js +22 -3
  417. package/dist/task-control-plane/task-control-plane.module.js.map +1 -1
  418. package/dist/worker/artifact-store.js +6 -1
  419. package/dist/worker/artifact-store.js.map +1 -1
  420. package/dist/worker/build-context.js +135 -1
  421. package/dist/worker/build-context.js.map +1 -1
  422. package/dist/worker/claude-code-runner.js +79 -82
  423. package/dist/worker/claude-code-runner.js.map +1 -1
  424. package/dist/worker/codex-runner.js +474 -0
  425. package/dist/worker/codex-runner.js.map +1 -0
  426. package/dist/worker/git-worktree-manager.js +148 -0
  427. package/dist/worker/git-worktree-manager.js.map +1 -0
  428. package/dist/worker/result-envelope.js +75 -63
  429. package/dist/worker/result-envelope.js.map +1 -1
  430. package/dist/worker/runner-common.js +106 -0
  431. package/dist/worker/runner-common.js.map +1 -0
  432. package/dist/worker/runner-dispatch.js +3 -1
  433. package/dist/worker/runner-dispatch.js.map +1 -1
  434. package/dist/worker/runner.js.map +1 -1
  435. package/dist/worker/stub-runner.js +3 -3
  436. package/dist/worker/stub-runner.js.map +1 -1
  437. package/package.json +15 -7
  438. package/dist/app.module.js +0 -28
  439. package/dist/app.module.js.map +0 -1
  440. package/dist/cli/commands/bootstrap.js +0 -100
  441. package/dist/cli/commands/bootstrap.js.map +0 -1
  442. package/dist/cli/commands/dev.js +0 -143
  443. package/dist/cli/commands/dev.js.map +0 -1
  444. package/dist/cli/commands/inbox.js +0 -288
  445. package/dist/cli/commands/inbox.js.map +0 -1
  446. package/dist/cli/commands/playbook.js +0 -74
  447. package/dist/cli/commands/playbook.js.map +0 -1
  448. package/dist/cli/commands/poll-workflow-state.js +0 -144
  449. package/dist/cli/commands/poll-workflow-state.js.map +0 -1
  450. package/dist/cli/commands/revisium-context.js +0 -23
  451. package/dist/cli/commands/revisium-context.js.map +0 -1
  452. package/dist/cli/commands/revisium.js +0 -89
  453. package/dist/cli/commands/revisium.js.map +0 -1
  454. package/dist/cli/commands/run.js +0 -453
  455. package/dist/cli/commands/run.js.map +0 -1
  456. package/dist/cli/live-guard.js +0 -49
  457. package/dist/cli/live-guard.js.map +0 -1
  458. package/dist/cli/needs-host.js +0 -77
  459. package/dist/cli/needs-host.js.map +0 -1
  460. package/dist/mcp/mcp-stdio.service.js +0 -48
  461. package/dist/mcp/mcp-stdio.service.js.map +0 -1
  462. package/dist/mcp/mcp.module.js.map +0 -1
  463. package/dist/pipeline/develop-task.workflow.js.map +0 -1
  464. package/dist/worker/worktree-manager.js +0 -7
  465. package/dist/worker/worktree-manager.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrator-branch-naming.js","sourceRoot":"","sources":["../../src/runners/integrator-branch-naming.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/B,IAAI,CAAC,GAAG,CAAC;SACT,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxB,CAAC;AAED;+EAC+E;AAC/E,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,KAAa;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;IACzD,OAAO,QAAQ,MAAM,IAAI,IAAI,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * integrator-git — git-binary resolution + the pure git primitives the integrator needs
3
+ * (branch existence, ahead-count). Lifted from integrator.ts. `resolveExecutable` is also imported by
4
+ * the worktree manager, so integrator.ts re-exports it to keep that import path stable.
5
+ */
6
+ import { existsSync, statSync } from 'node:fs';
7
+ import { join, delimiter } from 'node:path';
8
+ /**
9
+ * Resolve a bare executable name to its first absolute path on PATH.
10
+ * Uses only node:fs + node:path — no child_process, no spawning.
11
+ *
12
+ * @param name - bare executable name, e.g. "git"
13
+ * @param pathEnv - override for PATH (defaults to process.env.PATH); injectable for tests
14
+ * @returns absolute path to the executable
15
+ * @throws Error if not found on PATH
16
+ */
17
+ export function resolveExecutable(name, pathEnv = process.env['PATH'] ?? '') {
18
+ if (!pathEnv) {
19
+ throw new Error(`cannot resolve executable "${name}" on PATH: PATH is empty or unset`);
20
+ }
21
+ const dirs = pathEnv.split(delimiter);
22
+ // On win32 also check common executable extensions; on posix the plain name suffices.
23
+ const candidates = process.platform === 'win32'
24
+ ? [name, `${name}.exe`, `${name}.cmd`, `${name}.bat`]
25
+ : [name];
26
+ for (const dir of dirs) {
27
+ if (!dir)
28
+ continue;
29
+ for (const candidate of candidates) {
30
+ const full = join(dir, candidate);
31
+ try {
32
+ if (existsSync(full) && statSync(full).isFile()) {
33
+ return full;
34
+ }
35
+ }
36
+ catch {
37
+ // dir may be unreadable — skip silently
38
+ }
39
+ }
40
+ }
41
+ throw new Error(`cannot resolve executable "${name}" on PATH`);
42
+ }
43
+ // Lazily resolved once per process — avoids resolving on module load (safe for tests).
44
+ let _gitAbsPath;
45
+ export function gitAbsPath() {
46
+ if (_gitAbsPath === undefined) {
47
+ _gitAbsPath = resolveExecutable('git');
48
+ }
49
+ return _gitAbsPath;
50
+ }
51
+ /** Branch existence check — returns true if the branch exists locally. */
52
+ export function branchExists(execGit, cwd, branch) {
53
+ try {
54
+ execGit(['rev-parse', '--verify', branch], cwd);
55
+ return true;
56
+ }
57
+ catch {
58
+ return false;
59
+ }
60
+ }
61
+ /**
62
+ * Count commits on branch ahead of origin/<base>.
63
+ * Returns 0 only for expected "no upstream / unknown revision / ambiguous argument" errors
64
+ * (these mean the branch is not ahead). Rethrows other errors so DBOS can retry transient failures.
65
+ */
66
+ export function countAhead(execGit, cwd, branch, base) {
67
+ try {
68
+ const raw = execGit(['rev-list', '--count', `origin/${base}..${branch}`], cwd).trim();
69
+ return Number.parseInt(raw, 10) || 0;
70
+ }
71
+ catch (err) {
72
+ const msg = err instanceof Error ? err.message : String(err);
73
+ // Expected: branch or upstream not yet known to git (not a transient failure).
74
+ if (msg.includes('unknown revision') ||
75
+ msg.includes('ambiguous argument') ||
76
+ msg.includes('no upstream') ||
77
+ msg.includes('does not have any commits yet')) {
78
+ return 0;
79
+ }
80
+ // Transient failure (network, lock, etc.) — rethrow so DBOS retries.
81
+ throw err;
82
+ }
83
+ }
84
+ //# sourceMappingURL=integrator-git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrator-git.js","sourceRoot":"","sources":["../../src/runners/integrator-git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ // Owner and repo: GitHub-safe chars only ([A-Za-z0-9._-]); trailing .git stripped; no trailing paths.
2
+ // Non-greedy repo segment (+?) allows the (?:\.git)? suffix to back-trim a trailing ".git".
3
+ const GITHUB_SSH_RE = /^git@github\.com:([A-Za-z0-9._-]+\/[A-Za-z0-9._-]+?)(?:\.git)?$/;
4
+ const GITHUB_HTTPS_RE = /^https?:\/\/github\.com\/([A-Za-z0-9._-]+\/[A-Za-z0-9._-]+?)(?:\.git)?$/;
5
+ export function parseOwnerRepo(remoteUrl) {
6
+ const ssh = GITHUB_SSH_RE.exec(remoteUrl.trim());
7
+ if (ssh?.[1])
8
+ return ssh[1];
9
+ const https = GITHUB_HTTPS_RE.exec(remoteUrl.trim());
10
+ if (https?.[1])
11
+ return https[1];
12
+ return null;
13
+ }
14
+ export function resolveOwnerRepo(execGit, cwd) {
15
+ let remoteUrl;
16
+ try {
17
+ remoteUrl = execGit(['remote', 'get-url', 'origin'], cwd).trim();
18
+ }
19
+ catch {
20
+ return {
21
+ needsHuman: true,
22
+ lesson: 'target repo has no parseable github remote — cannot open a PR (config gap: add a github origin remote)',
23
+ };
24
+ }
25
+ const ownerRepo = parseOwnerRepo(remoteUrl);
26
+ if (!ownerRepo) {
27
+ return {
28
+ needsHuman: true,
29
+ lesson: `target repo has no parseable github remote — cannot open a PR (remote url: ${remoteUrl})`,
30
+ };
31
+ }
32
+ return { ownerRepo };
33
+ }
34
+ //# sourceMappingURL=integrator-remote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrator-remote.js","sourceRoot":"","sources":["../../src/runners/integrator-remote.ts"],"names":[],"mappings":"AAMA,sGAAsG;AACtG,4FAA4F;AAC5F,MAAM,aAAa,GAAG,iEAAiE,CAAC;AACxF,MAAM,eAAe,GAAG,yEAAyE,CAAC;AAElG,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,GAAW;IAEX,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,MAAM,EACJ,wGAAwG;SAC3G,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,8EAA8E,SAAS,GAAG;SACnG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * integrator-types — the foundational shapes every integrator module shares.
3
+ *
4
+ * Lifted out of integrator.ts so the extracted git / remote helpers can take these by type without
5
+ * importing back into the orchestrator (which would form a cycle). integrator.ts re-exports them, so
6
+ * the public import path ('./integrator.js') — used by the test kit and fake-integrator — is unchanged.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=integrator-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrator-types.js","sourceRoot":"","sources":["../../src/runners/integrator-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -7,6 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
10
13
  /**
11
14
  * integrator.ts — deterministic, replay-safe code integrator.
12
15
  *
@@ -17,109 +20,24 @@ var __metadata = (this && this.__metadata) || function (k, v) {
17
20
  * - stubIntegrate(input) — STUB (script only); ZERO external effects; pure + deterministic.
18
21
  * - preflightLive(taskId, base, deps) — LIVE PREFLIGHT; clean check + base freshness; one-shot.
19
22
  * - IntegratorService — @Injectable wrapper with bound arrow properties.
20
- * - resolveExecutable(name) — resolve a bare executable name to an absolute PATH entry.
23
+ *
24
+ * The pure primitives (resolveExecutable, branchName, parseOwnerRepo) and shared types live in
25
+ * sibling modules (integrator-git / -branch-naming / -remote / -types) and are re-exported here so
26
+ * the public import path ('./integrator.js') is unchanged.
21
27
  */
22
- import { Injectable } from '@nestjs/common';
23
- import { existsSync, statSync } from 'node:fs';
24
- import { join, delimiter } from 'node:path';
28
+ import { Inject, Injectable } from '@nestjs/common';
25
29
  import { execFileSync } from 'node:child_process';
30
+ import { collectPrReadiness } from '../poller/pr-readiness-core.js';
26
31
  import { RunService } from '../revisium/run.service.js';
27
32
  import { resolveGhAccount, resolvePinnedGh } from './gh-identity.js';
28
- // ─── resolveExecutable ────────────────────────────────────────────────────────
29
- /**
30
- * Resolve a bare executable name to its first absolute path on PATH.
31
- * Uses only node:fs + node:path no child_process, no spawning.
32
- *
33
- * @param name - bare executable name, e.g. "git"
34
- * @param pathEnv - override for PATH (defaults to process.env.PATH); injectable for tests
35
- * @returns absolute path to the executable
36
- * @throws Error if not found on PATH
37
- */
38
- export function resolveExecutable(name, pathEnv = process.env['PATH'] ?? '') {
39
- if (!pathEnv) {
40
- throw new Error(`cannot resolve executable "${name}" on PATH: PATH is empty or unset`);
41
- }
42
- const dirs = pathEnv.split(delimiter);
43
- // On win32 also check common executable extensions; on posix the plain name suffices.
44
- const candidates = process.platform === 'win32'
45
- ? [name, `${name}.exe`, `${name}.cmd`, `${name}.bat`]
46
- : [name];
47
- for (const dir of dirs) {
48
- if (!dir)
49
- continue;
50
- for (const candidate of candidates) {
51
- const full = join(dir, candidate);
52
- try {
53
- if (existsSync(full) && statSync(full).isFile()) {
54
- return full;
55
- }
56
- }
57
- catch {
58
- // dir may be unreadable — skip silently
59
- }
60
- }
61
- }
62
- throw new Error(`cannot resolve executable "${name}" on PATH`);
63
- }
64
- // Lazily resolved once per process — avoids resolving on module load (safe for tests).
65
- let _gitAbsPath;
66
- function gitAbsPath() {
67
- if (_gitAbsPath === undefined) {
68
- _gitAbsPath = resolveExecutable('git');
69
- }
70
- return _gitAbsPath;
71
- }
72
- // ─── slug helper ─────────────────────────────────────────────────────────────
73
- const SLUG_MAX = 40;
74
- /** Deterministic branch-name slug from title: lowercase, non-alnum runs → '-', trim/truncate. */
75
- function slugify(title) {
76
- return title
77
- .toLowerCase()
78
- .replace(/[^a-z0-9]+/g, '-')
79
- .split('-')
80
- .filter((seg) => seg.length > 0)
81
- .join('-')
82
- .slice(0, SLUG_MAX);
83
- }
84
- /** Derive deterministic feature branch name from taskId + title. */
85
- function branchName(taskId, title) {
86
- const slug = slugify(title) || slugify(taskId) || 'task';
87
- return `feat/${taskId}-${slug}`;
88
- }
89
- // ─── owner/repo derivation ────────────────────────────────────────────────────
90
- // Owner and repo: GitHub-safe chars only ([A-Za-z0-9._-]); trailing .git stripped; no trailing paths.
91
- // Non-greedy repo segment (+?) allows the (?:\.git)? suffix to back-trim a trailing ".git".
92
- const GITHUB_SSH_RE = /^git@github\.com:([A-Za-z0-9._-]+\/[A-Za-z0-9._-]+?)(?:\.git)?$/;
93
- const GITHUB_HTTPS_RE = /^https?:\/\/github\.com\/([A-Za-z0-9._-]+\/[A-Za-z0-9._-]+?)(?:\.git)?$/;
94
- export function parseOwnerRepo(remoteUrl) {
95
- const ssh = GITHUB_SSH_RE.exec(remoteUrl.trim());
96
- if (ssh?.[1])
97
- return ssh[1];
98
- const https = GITHUB_HTTPS_RE.exec(remoteUrl.trim());
99
- if (https?.[1])
100
- return https[1];
101
- return null;
102
- }
103
- function resolveOwnerRepo(execGit, cwd) {
104
- let remoteUrl;
105
- try {
106
- remoteUrl = execGit(['remote', 'get-url', 'origin'], cwd).trim();
107
- }
108
- catch {
109
- return {
110
- needsHuman: true,
111
- lesson: 'target repo has no parseable github remote — cannot open a PR (config gap: add a github origin remote)',
112
- };
113
- }
114
- const ownerRepo = parseOwnerRepo(remoteUrl);
115
- if (!ownerRepo) {
116
- return {
117
- needsHuman: true,
118
- lesson: `target repo has no parseable github remote — cannot open a PR (remote url: ${remoteUrl})`,
119
- };
120
- }
121
- return { ownerRepo };
122
- }
33
+ import { gitAbsPath, branchExists, countAhead } from './integrator-git.js';
34
+ import { resolveOwnerRepo } from './integrator-remote.js';
35
+ import { branchName } from './integrator-branch-naming.js';
36
+ // Public-API re-exports the implementations now live in focused sibling modules, but callers
37
+ // (worktree.service, git-worktree-manager, the test kit) keep importing from './integrator.js'.
38
+ export { resolveExecutable } from './integrator-git.js';
39
+ export { branchName };
40
+ export { parseOwnerRepo } from './integrator-remote.js';
123
41
  function findOrCreatePr(ownerRepo, branch, base, title, execGh) {
124
42
  const raw = execGh([
125
43
  'pr',
@@ -285,47 +203,17 @@ export function stubIntegrate(input) {
285
203
  };
286
204
  }
287
205
  // ─── REAL integrator (live only) ─────────────────────────────────────────────
288
- /** Branch existence check — returns true if the branch exists locally. */
289
- function branchExists(execGit, cwd, branch) {
290
- try {
291
- execGit(['rev-parse', '--verify', branch], cwd);
292
- return true;
293
- }
294
- catch {
295
- return false;
296
- }
297
- }
298
- /**
299
- * Count commits on branch ahead of origin/<base>.
300
- * Returns 0 only for expected "no upstream / unknown revision / ambiguous argument" errors
301
- * (these mean the branch is not ahead). Rethrows other errors so DBOS can retry transient failures.
302
- */
303
- function countAhead(execGit, cwd, branch, base) {
304
- try {
305
- const raw = execGit(['rev-list', '--count', `origin/${base}..${branch}`], cwd).trim();
306
- return Number.parseInt(raw, 10) || 0;
307
- }
308
- catch (err) {
309
- const msg = err instanceof Error ? err.message : String(err);
310
- // Expected: branch or upstream not yet known to git (not a transient failure).
311
- if (msg.includes('unknown revision') ||
312
- msg.includes('ambiguous argument') ||
313
- msg.includes('no upstream') ||
314
- msg.includes('does not have any commits yet')) {
315
- return 0;
316
- }
317
- // Transient failure (network, lock, etc.) — rethrow so DBOS retries.
318
- throw err;
319
- }
320
- }
321
206
  /**
322
207
  * integrate — REAL integrator (live only).
323
208
  * Replay-safe: branch create-if-absent (no clobber); commit only if staged diff;
324
209
  * push + find-or-create PR even if commit already happened (ahead guard).
325
210
  */
326
211
  export async function integrate(input, deps) {
327
- const { execGit: git, execGh: gh, resolveTaskCwd: resolveCwd } = deps;
328
- const cwd = await resolveCwd(input.taskId);
212
+ const { execGit: git, execGh: gh, resolveRunCwd } = deps;
213
+ // Resolve the run's ISOLATED worktree (plan 0017) — it is already checked out on `branch`, so the
214
+ // branchExists→switch path below is a no-op and the dirty-tree `switch -c origin/<base>` (which
215
+ // failed when the base checkout carried prior-run changes) is never taken.
216
+ const cwd = await resolveRunCwd(input.runId, input.taskId);
329
217
  const branch = branchName(input.taskId, input.title);
330
218
  // 1. Derive owner/repo
331
219
  const ownerRepoResult = resolveOwnerRepo(git, cwd);
@@ -377,6 +265,184 @@ export async function integrate(input, deps) {
377
265
  return prResult;
378
266
  return { prUrl: prResult.prUrl, branch, prNumber: prResult.prNumber };
379
267
  }
268
+ /**
269
+ * confirmMerge — REAL (live only). Ensures the run's PR is actually merged before the run reaches its
270
+ * success terminal (so the worktree, released on `succeeded`, is cleaned only once the branch is in the
271
+ * base — truly disposable). Idempotent + replay-safe:
272
+ *
273
+ * 1. `gh pr view` the run's branch. Already `merged` (a human merged it) → succeed.
274
+ * 2. Not merged + OPEN + `mergeStateStatus === CLEAN` (CI green, no conflicts) → `gh pr merge --squash
275
+ * --delete-branch`, then re-view to CONFIRM merged → succeed; otherwise block.
276
+ * 3. Not mergeable (not OPEN, or not CLEAN — red CI / conflicts / blocked) → block (needsHuman), which
277
+ * routes to a `blocked` terminal and KEEPS the worktree for rework.
278
+ *
279
+ * Merge method is `--squash` by default; node-level parameterization (method/policy) is a deferred
280
+ * follow-up (run-time node params).
281
+ */
282
+ export async function confirmMerge(input, deps) {
283
+ const { execGit: git, execGh: gh, resolveRunCwd } = deps;
284
+ const cwd = await resolveRunCwd(input.runId, input.taskId);
285
+ const branch = branchName(input.taskId, input.title);
286
+ const ownerRepoResult = resolveOwnerRepo(git, cwd);
287
+ if ('needsHuman' in ownerRepoResult)
288
+ return ownerRepoResult;
289
+ const { ownerRepo } = ownerRepoResult;
290
+ const view = () => {
291
+ const raw = gh(['pr', 'view', branch, '--repo', ownerRepo, '--json', 'number,url,state,isDraft,mergeStateStatus']);
292
+ try {
293
+ return JSON.parse(raw);
294
+ }
295
+ catch {
296
+ throw new Error(`gh pr view returned non-JSON for ${branch}: ${raw.slice(0, 200)}`);
297
+ }
298
+ };
299
+ const pr = view();
300
+ if (pr.state === 'MERGED')
301
+ return { merged: true, prNumber: pr.number, prUrl: pr.url };
302
+ if (pr.state !== 'OPEN') {
303
+ return { needsHuman: true, lesson: `PR #${pr.number} is ${pr.state} (not OPEN) and not merged — resolve manually` };
304
+ }
305
+ // Only auto-merge a CLEAN PR (CI green, no conflicts). Other states (BLOCKED/DIRTY/UNSTABLE/BEHIND…)
306
+ // require a human — block and keep the worktree for rework.
307
+ if (pr.mergeStateStatus !== 'CLEAN') {
308
+ return {
309
+ needsHuman: true,
310
+ lesson: `PR #${pr.number} is not auto-mergeable (mergeStateStatus=${pr.mergeStateStatus}) — CI not green, ` +
311
+ `conflicts, or required reviews pending; merge it manually (or fix + re-run) then cleanup`,
312
+ };
313
+ }
314
+ // The integrator opens the PR as a DRAFT (human review at the merge gate); `gh pr merge` refuses a
315
+ // draft, so mark it ready first (the approved merge gate IS that review). Idempotent: a no-op once ready.
316
+ if (pr.isDraft) {
317
+ gh(['pr', 'ready', branch, '--repo', ownerRepo]);
318
+ }
319
+ // Merge (squash) — idempotent: a replay re-views first (step 1) and short-circuits on state MERGED.
320
+ gh(['pr', 'merge', branch, '--repo', ownerRepo, '--squash', '--delete-branch']);
321
+ const after = view();
322
+ if (after.state === 'MERGED')
323
+ return { merged: true, prNumber: after.number, prUrl: after.url };
324
+ return { needsHuman: true, lesson: `PR #${after.number} merge did not take effect (state=${after.state}) — verify manually` };
325
+ }
326
+ /** Default polling bounds — pr-readiness parity (20 polls × 30s), overridable via env so the e2e suite
327
+ * doesn't real-sleep; also injectable (deps.maxPolls/pollIntervalMs) so unit tests run instantly. */
328
+ function envInt(name, fallback) {
329
+ const n = Number.parseInt(process.env[name] ?? '', 10);
330
+ return Number.isFinite(n) && n > 0 ? n : fallback;
331
+ }
332
+ function defaultCollect(repo, branch, base, execGh) {
333
+ // pollPr classifies by CI checks + unresolved review THREADS only — it does not read the PR comment
334
+ // feed, so suppress the `api repos/.../{reviews,comments}` calls (`includeComments: false`). Those
335
+ // extra calls are pure overhead here and the review-thread query already carries the actionable
336
+ // feedback the loop acts on.
337
+ return collectPrReadiness({ repo, headBranch: branch, baseBranch: base, includeReviewThreads: true, includeComments: false }, execGh).then((r) => ({
338
+ pr: { number: r.pr.number, headSha: r.pr.headSha },
339
+ checks: { pending: r.checks.pending, fail: r.checks.fail, list: r.checks.list },
340
+ reviewThreads: { items: r.reviewThreads.items },
341
+ }));
342
+ }
343
+ const defaultSleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
344
+ /**
345
+ * pollPr — REAL (live only). Polls `collectPrReadiness` until CI is terminal (no pending checks) or a
346
+ * timeout, then classifies the feedback by TYPE (plan 0018): unresolved review threads → review_changes;
347
+ * else failing checks → ci_changes; else clean. A timeout with checks still pending → block (human).
348
+ * Replay-safe at the DBOS-step boundary (memoized result), idempotent (read-only gh).
349
+ */
350
+ export async function pollPr(input, deps) {
351
+ const { execGit: git, execGh: gh, resolveRunCwd } = deps;
352
+ const collect = deps.collect ?? defaultCollect;
353
+ const sleep = deps.sleep ?? defaultSleep;
354
+ // Read env at CALL time (not module load) so the e2e harness can shrink the poll budget regardless
355
+ // of import order; prod default stays 20 × 30s.
356
+ const maxPolls = deps.maxPolls ?? envInt('REVO_POLL_PR_MAX_POLLS', 20);
357
+ const intervalMs = deps.pollIntervalMs ?? envInt('REVO_POLL_PR_INTERVAL_MS', 30_000);
358
+ const cwd = await resolveRunCwd(input.runId, input.taskId);
359
+ const branch = branchName(input.taskId, input.title);
360
+ const ownerRepoResult = resolveOwnerRepo(git, cwd);
361
+ if ('needsHuman' in ownerRepoResult)
362
+ return ownerRepoResult;
363
+ const { ownerRepo } = ownerRepoResult;
364
+ let readiness;
365
+ for (let i = 0; i < maxPolls; i++) {
366
+ readiness = await collect(ownerRepo, branch, input.base, gh);
367
+ // Terminal once nothing is pending and at least one check has registered (matches pr-readiness).
368
+ if (readiness.checks.pending.length === 0 && readiness.checks.list.length > 0)
369
+ break;
370
+ readiness = undefined;
371
+ if (i < maxPolls - 1)
372
+ await sleep(intervalMs);
373
+ }
374
+ if (!readiness) {
375
+ return {
376
+ needsHuman: true,
377
+ lesson: `pollPr timed out after ${maxPolls} polls — CI checks still pending or none registered for ${branch}`,
378
+ };
379
+ }
380
+ const reviewThreads = readiness.reviewThreads.items.map((t) => ({
381
+ threadId: t.id,
382
+ path: t.path,
383
+ line: t.line,
384
+ author: t.author,
385
+ body: t.body,
386
+ }));
387
+ const ciFailures = readiness.checks.list
388
+ .filter((c) => readiness.checks.fail.includes(c.name))
389
+ .map((c) => ({ name: c.name, conclusion: c.result }));
390
+ // Decision order (plan 0018): review threads first, then CI, else clean.
391
+ const verdict = reviewThreads.length > 0 ? 'review_changes' : ciFailures.length > 0 ? 'ci_changes' : 'clean';
392
+ return {
393
+ prNumber: readiness.pr.number ?? null,
394
+ headSha: readiness.pr.headSha,
395
+ verdict,
396
+ ciFailures,
397
+ reviewThreads,
398
+ };
399
+ }
400
+ const TRIAGE_DECISIONS = new Set(['fix', 'wontfix', 'question']);
401
+ /** Coerce the analyst's (LLM-produced, untrusted-shape) triage output to a Triage, dropping malformed
402
+ * items so respondThreads never throws on a null/garbled entry (CodeRabbit). */
403
+ export function asTriage(value) {
404
+ if (value === null || typeof value !== 'object')
405
+ return { items: [] };
406
+ const raw = value.items;
407
+ const items = Array.isArray(raw)
408
+ ? raw.filter((it) => it !== null &&
409
+ typeof it === 'object' &&
410
+ typeof it.threadId === 'string' &&
411
+ TRIAGE_DECISIONS.has(it.decision))
412
+ : [];
413
+ return { items };
414
+ }
415
+ /**
416
+ * respondThreads — REAL (live only). For each triaged thread we acted on (decision fix OR wontfix —
417
+ * plan 0018 decision #2), reply in the thread then resolve it, via the gh-pinned GraphQL API
418
+ * (`addPullRequestReviewThreadReply` then `resolveReviewThread`). Question items are skipped (they go to
419
+ * the question gate, not auto-resolved). Idempotent: resolving an already-resolved thread is a no-op for
420
+ * the loop (a reopened/new comment is caught by the next pollPr).
421
+ */
422
+ export async function respondThreads(triage, deps) {
423
+ const { execGh: gh } = deps;
424
+ let replied = 0;
425
+ let resolved = 0;
426
+ for (const item of triage.items) {
427
+ if (item.decision !== 'fix' && item.decision !== 'wontfix')
428
+ continue; // skip questions
429
+ const body = item.replyText ?? (item.decision === 'wontfix' ? 'Acknowledged; not changing.' : 'Addressed.');
430
+ gh([
431
+ 'api', 'graphql',
432
+ '-f', 'query=mutation($id:ID!,$body:String!){addPullRequestReviewThreadReply(input:{pullRequestReviewThreadId:$id,body:$body}){clientMutationId}}',
433
+ '-f', `id=${item.threadId}`,
434
+ '-f', `body=${body}`,
435
+ ]);
436
+ replied++;
437
+ gh([
438
+ 'api', 'graphql',
439
+ '-f', 'query=mutation($id:ID!){resolveReviewThread(input:{threadId:$id}){thread{id isResolved}}}',
440
+ '-f', `id=${item.threadId}`,
441
+ ]);
442
+ resolved++;
443
+ }
444
+ return { replied, resolved };
445
+ }
380
446
  // ─── IntegratorService ─────────────────────────────────────────────────────────
381
447
  /** Default execGit implementation wrapping execFileSync with a resolved absolute path. */
382
448
  function defaultExecGit(args, cwd) {
@@ -397,6 +463,7 @@ let IntegratorService = class IntegratorService {
397
463
  this.deps = {
398
464
  execGit: defaultExecGit,
399
465
  resolveTaskCwd: this.runService.makeResolveTaskCwd(),
466
+ resolveRunCwd: this.runService.makeResolveRunCwd(),
400
467
  };
401
468
  }
402
469
  /**
@@ -420,13 +487,62 @@ let IntegratorService = class IntegratorService {
420
487
  runStub = (input) => {
421
488
  return stubIntegrate(input);
422
489
  };
490
+ /**
491
+ * Real confirm-merge — live path. Same fail-loud pinned-gh handling as runIntegrate: refuse the
492
+ * ambient account, block if the pinned identity cannot be resolved.
493
+ */
494
+ runConfirmMerge = (input) => {
495
+ const pinned = resolvePinnedGh();
496
+ if ('needsHuman' in pinned) {
497
+ console.warn(`[confirm-merge] ${pinned.lesson}`);
498
+ return Promise.resolve(pinned);
499
+ }
500
+ return confirmMerge(input, { ...this.deps, execGh: pinned.execGh });
501
+ };
502
+ /** Stub confirm-merge — script path; zero external effects (treats the stub PR as merged). */
503
+ runConfirmStub = (input) => {
504
+ return { merged: true, prNumber: 0, prUrl: `stub://pr/${input.taskId}/merged` };
505
+ };
423
506
  /** Live preflight — clean check + base invariant. Arrow property for safe unbound registration. */
424
507
  runPreflight = (taskId, base) => {
425
508
  return preflightLive(taskId, base, this.deps);
426
509
  };
510
+ /**
511
+ * Real pollPr — live path. Same fail-loud pinned-gh handling as runIntegrate (the review/CI poll reads
512
+ * the PR via the pinned account, never the ambient one). Blocks if the pinned identity is unresolved.
513
+ */
514
+ runPollPr = (input) => {
515
+ const pinned = resolvePinnedGh();
516
+ if ('needsHuman' in pinned) {
517
+ console.warn(`[poll-pr] ${pinned.lesson}`);
518
+ return Promise.resolve(pinned);
519
+ }
520
+ return pollPr(input, { ...this.deps, execGh: pinned.execGh });
521
+ };
522
+ /** Stub pollPr — script path; zero external effects (reports a clean PR so the loop converges to merge). */
523
+ runPollStub = (_input) => {
524
+ return { prNumber: null, headSha: 'stub', verdict: 'clean', ciFailures: [], reviewThreads: [] };
525
+ };
526
+ /**
527
+ * Real respondThreads — live path. Same fail-loud pinned-gh handling: refuse the ambient account.
528
+ * The consumed `triage` rides in IntegratorInput.triage (hydrated by the adapter from run_outputs).
529
+ */
530
+ runRespondThreads = (input) => {
531
+ const pinned = resolvePinnedGh();
532
+ if ('needsHuman' in pinned) {
533
+ console.warn(`[respond-threads] ${pinned.lesson}`);
534
+ return Promise.resolve(pinned);
535
+ }
536
+ return respondThreads(asTriage(input.triage), { execGh: pinned.execGh });
537
+ };
538
+ /** Stub respondThreads — script path; zero external effects (no threads to reply/resolve). */
539
+ runRespondStub = (_input) => {
540
+ return { replied: 0, resolved: 0 };
541
+ };
427
542
  };
428
543
  IntegratorService = __decorate([
429
544
  Injectable(),
545
+ __param(0, Inject(RunService)),
430
546
  __metadata("design:paramtypes", [RunService])
431
547
  ], IntegratorService);
432
548
  export { IntegratorService };
@@ -1 +1 @@
1
- {"version":3,"file":"integrator.js","sourceRoot":"","sources":["../../src/runners/integrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integrator.js","sourceRoot":"","sources":["../../src/runners/integrator.ts"],"names":[],"mappings":"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"}