@revisium/orchestrator 0.1.0-alpha.9 → 0.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/README.md +210 -146
  2. package/control-plane/bootstrap.config.json +43 -1
  3. package/control-plane/default-playbook/catalog/pipelines.json +1157 -10
  4. package/control-plane/default-playbook/catalog/roles.json +54 -0
  5. package/control-plane/default-playbook/package.json +1 -1
  6. package/control-plane/default-playbook/prompts/developer.md +1 -0
  7. package/control-plane/default-playbook/prompts/triager.md +3 -0
  8. package/dist/api/graphql-api/graphql-ws/pubsub.module.js +0 -1
  9. package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -1
  10. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +0 -1
  11. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -1
  12. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +0 -1
  13. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -1
  14. package/dist/api/graphql-api/graphql-ws/subscription-mappers.js +3 -0
  15. package/dist/api/graphql-api/graphql-ws/subscription-mappers.js.map +1 -1
  16. package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js +6 -0
  17. package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js.map +1 -1
  18. package/dist/api/graphql-api/pr/model/pr-readiness.model.js +26 -0
  19. package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -1
  20. package/dist/api/graphql-api/runs/inputs/create-run.input.js +6 -0
  21. package/dist/api/graphql-api/runs/inputs/create-run.input.js.map +1 -1
  22. package/dist/api/graphql-api/runs/model/run.model.js +6 -0
  23. package/dist/api/graphql-api/runs/model/run.model.js.map +1 -1
  24. package/dist/api/graphql-api/share/model/issue-ref.model.js +53 -0
  25. package/dist/api/graphql-api/share/model/issue-ref.model.js.map +1 -0
  26. package/dist/cli/commands/doctor-report.js +0 -18
  27. package/dist/cli/commands/doctor-report.js.map +1 -1
  28. package/dist/cli/commands/lifecycle.js +3 -71
  29. package/dist/cli/commands/lifecycle.js.map +1 -1
  30. package/dist/cli/commands/mcp.js +0 -14
  31. package/dist/cli/commands/mcp.js.map +1 -1
  32. package/dist/cli/commands/process-tree.js +4 -26
  33. package/dist/cli/commands/process-tree.js.map +1 -1
  34. package/dist/cli/commands/revisium-helpers.js +0 -6
  35. package/dist/cli/commands/revisium-helpers.js.map +1 -1
  36. package/dist/cli/commands/rogue-reaper.js +0 -34
  37. package/dist/cli/commands/rogue-reaper.js.map +1 -1
  38. package/dist/cli/index.js +0 -4
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/cli/program.js +0 -5
  41. package/dist/cli/program.js.map +1 -1
  42. package/dist/config.js +0 -25
  43. package/dist/config.js.map +1 -1
  44. package/dist/control-plane/bootstrap.js +12 -27
  45. package/dist/control-plane/bootstrap.js.map +1 -1
  46. package/dist/control-plane/change-notifications.js +0 -1
  47. package/dist/control-plane/change-notifications.js.map +1 -1
  48. package/dist/control-plane/client-transport.js +1 -12
  49. package/dist/control-plane/client-transport.js.map +1 -1
  50. package/dist/control-plane/default-playbook-policy.js +593 -0
  51. package/dist/control-plane/default-playbook-policy.js.map +1 -0
  52. package/dist/control-plane/definitions.js +8 -17
  53. package/dist/control-plane/definitions.js.map +1 -1
  54. package/dist/control-plane/inbox.js +2 -120
  55. package/dist/control-plane/inbox.js.map +1 -1
  56. package/dist/control-plane/resolve-cwd.js +0 -61
  57. package/dist/control-plane/resolve-cwd.js.map +1 -1
  58. package/dist/control-plane/schema-migration.js +0 -9
  59. package/dist/control-plane/schema-migration.js.map +1 -1
  60. package/dist/control-plane/seed-default-playbook.js +50 -46
  61. package/dist/control-plane/seed-default-playbook.js.map +1 -1
  62. package/dist/control-plane/steps.js +0 -15
  63. package/dist/control-plane/steps.js.map +1 -1
  64. package/dist/e2e/kit/agents.js +15 -21
  65. package/dist/e2e/kit/agents.js.map +1 -1
  66. package/dist/e2e/kit/assertions.js +12 -8
  67. package/dist/e2e/kit/assertions.js.map +1 -1
  68. package/dist/e2e/kit/fake-integrator.js +11 -2
  69. package/dist/e2e/kit/fake-integrator.js.map +1 -1
  70. package/dist/e2e/kit/git-target-repo.js +1 -1
  71. package/dist/engine/dbos.service.js +12 -179
  72. package/dist/engine/dbos.service.js.map +1 -1
  73. package/dist/engine/ensure-postgres.js +0 -48
  74. package/dist/engine/ensure-postgres.js.map +1 -1
  75. package/dist/features/pr/queries/impl/get-pr-readiness.query.js.map +1 -1
  76. package/dist/features/runs/commands/impl/create-run.command.js.map +1 -1
  77. package/dist/features/runs/queries/handlers/runs-query.handlers.js +1 -0
  78. package/dist/features/runs/queries/handlers/runs-query.handlers.js.map +1 -1
  79. package/dist/host/daemon.js +2 -21
  80. package/dist/host/daemon.js.map +1 -1
  81. package/dist/host/dbos-identity.js +0 -31
  82. package/dist/host/dbos-identity.js.map +1 -1
  83. package/dist/host/ensure-host.js +1 -37
  84. package/dist/host/ensure-host.js.map +1 -1
  85. package/dist/host/ensure-revisium.js +1 -135
  86. package/dist/host/ensure-revisium.js.map +1 -1
  87. package/dist/host/host-runtime.js +0 -28
  88. package/dist/host/host-runtime.js.map +1 -1
  89. package/dist/host/host.lifecycle.js +0 -27
  90. package/dist/host/host.lifecycle.js.map +1 -1
  91. package/dist/host/queue-ownership.js +0 -42
  92. package/dist/host/queue-ownership.js.map +1 -1
  93. package/dist/host/queue-poller-census.js +1 -28
  94. package/dist/host/queue-poller-census.js.map +1 -1
  95. package/dist/http/graphql-host.module.js +0 -3
  96. package/dist/http/graphql-host.module.js.map +1 -1
  97. package/dist/mcp/mcp-capabilities.js +23 -5
  98. package/dist/mcp/mcp-capabilities.js.map +1 -1
  99. package/dist/mcp/mcp-facade.service.js +335 -22
  100. package/dist/mcp/mcp-facade.service.js.map +1 -1
  101. package/dist/mcp/mcp-http.service.js +0 -18
  102. package/dist/mcp/mcp-http.service.js.map +1 -1
  103. package/dist/mcp/mcp-tools.js +41 -36
  104. package/dist/mcp/mcp-tools.js.map +1 -1
  105. package/dist/observability/activity-signal.js +103 -0
  106. package/dist/observability/activity-signal.js.map +1 -0
  107. package/dist/observability/agent-activity-reporter.js +0 -4
  108. package/dist/observability/agent-activity-reporter.js.map +1 -1
  109. package/dist/observability/index.js +1 -0
  110. package/dist/observability/index.js.map +1 -1
  111. package/dist/pipeline/await-human.js +0 -40
  112. package/dist/pipeline/await-human.js.map +1 -1
  113. package/dist/pipeline/data-driven-task.workflow.js +563 -251
  114. package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
  115. package/dist/pipeline/data-driven-template.js +0 -25
  116. package/dist/pipeline/data-driven-template.js.map +1 -1
  117. package/dist/pipeline/pipeline.module.js +0 -12
  118. package/dist/pipeline/pipeline.module.js.map +1 -1
  119. package/dist/pipeline/pipeline.service.js +194 -189
  120. package/dist/pipeline/pipeline.service.js.map +1 -1
  121. package/dist/pipeline/route-contract.js +4 -3
  122. package/dist/pipeline/route-contract.js.map +1 -1
  123. package/dist/pipeline-core/index.js +1 -13
  124. package/dist/pipeline-core/index.js.map +1 -1
  125. package/dist/pipeline-core/interpret.js +21 -94
  126. package/dist/pipeline-core/interpret.js.map +1 -1
  127. package/dist/pipeline-core/kit/assertions.js +0 -19
  128. package/dist/pipeline-core/kit/assertions.js.map +1 -1
  129. package/dist/pipeline-core/kit/builders.js +1 -21
  130. package/dist/pipeline-core/kit/builders.js.map +1 -1
  131. package/dist/pipeline-core/kit/drive.js +1 -31
  132. package/dist/pipeline-core/kit/drive.js.map +1 -1
  133. package/dist/pipeline-core/kit/fixtures.js +78 -101
  134. package/dist/pipeline-core/kit/fixtures.js.map +1 -1
  135. package/dist/pipeline-core/kit/index.js +0 -8
  136. package/dist/pipeline-core/kit/index.js.map +1 -1
  137. package/dist/pipeline-core/types.js +13 -52
  138. package/dist/pipeline-core/types.js.map +1 -1
  139. package/dist/pipeline-core/validate-capability.js +0 -3
  140. package/dist/pipeline-core/validate-capability.js.map +1 -1
  141. package/dist/pipeline-core/validate-conflicts.js +0 -9
  142. package/dist/pipeline-core/validate-conflicts.js.map +1 -1
  143. package/dist/pipeline-core/validate-dataflow.js +0 -17
  144. package/dist/pipeline-core/validate-dataflow.js.map +1 -1
  145. package/dist/pipeline-core/validate-diff.js +3 -36
  146. package/dist/pipeline-core/validate-diff.js.map +1 -1
  147. package/dist/pipeline-core/validate-edges.js +0 -6
  148. package/dist/pipeline-core/validate-edges.js.map +1 -1
  149. package/dist/pipeline-core/validate-graph.js +0 -11
  150. package/dist/pipeline-core/validate-graph.js.map +1 -1
  151. package/dist/pipeline-core/validate-loops.js +37 -44
  152. package/dist/pipeline-core/validate-loops.js.map +1 -1
  153. package/dist/pipeline-core/validate-parallel.js +9 -15
  154. package/dist/pipeline-core/validate-parallel.js.map +1 -1
  155. package/dist/pipeline-core/validate-sink.js +0 -7
  156. package/dist/pipeline-core/validate-sink.js.map +1 -1
  157. package/dist/pipeline-core/validate-topology.js +1 -20
  158. package/dist/pipeline-core/validate-topology.js.map +1 -1
  159. package/dist/pipeline-core/validate-verdict.js +52 -7
  160. package/dist/pipeline-core/validate-verdict.js.map +1 -1
  161. package/dist/pipeline-core/validate.js +5 -29
  162. package/dist/pipeline-core/validate.js.map +1 -1
  163. package/dist/playbook/catalog-loader.js +8 -3
  164. package/dist/playbook/catalog-loader.js.map +1 -1
  165. package/dist/playbook/import-mapper.js +4 -5
  166. package/dist/playbook/import-mapper.js.map +1 -1
  167. package/dist/poller/pr-readiness-core.js +226 -29
  168. package/dist/poller/pr-readiness-core.js.map +1 -1
  169. package/dist/revisium/inbox.service.js +0 -24
  170. package/dist/revisium/inbox.service.js.map +1 -1
  171. package/dist/revisium/playbooks.service.js +15 -2
  172. package/dist/revisium/playbooks.service.js.map +1 -1
  173. package/dist/revisium/revisium.module.js +0 -12
  174. package/dist/revisium/revisium.module.js.map +1 -1
  175. package/dist/revisium/roles.service.js +0 -6
  176. package/dist/revisium/roles.service.js.map +1 -1
  177. package/dist/revisium/run.service.js +2 -75
  178. package/dist/revisium/run.service.js.map +1 -1
  179. package/dist/revisium/tokens.js +0 -4
  180. package/dist/revisium/tokens.js.map +1 -1
  181. package/dist/run/append-event.js +6 -37
  182. package/dist/run/append-event.js.map +1 -1
  183. package/dist/run/block-run.js.map +1 -1
  184. package/dist/run/cancel-run.js +0 -33
  185. package/dist/run/cancel-run.js.map +1 -1
  186. package/dist/run/complete-run.js.map +1 -1
  187. package/dist/run/create-run.js +5 -8
  188. package/dist/run/create-run.js.map +1 -1
  189. package/dist/run/fail-run.js +0 -3
  190. package/dist/run/fail-run.js.map +1 -1
  191. package/dist/run/inspect-run.js +10 -29
  192. package/dist/run/inspect-run.js.map +1 -1
  193. package/dist/run/issue-ref.js +88 -0
  194. package/dist/run/issue-ref.js.map +1 -0
  195. package/dist/run/run-outputs.js +0 -19
  196. package/dist/run/run-outputs.js.map +1 -1
  197. package/dist/run/terminal-run-status.js +0 -12
  198. package/dist/run/terminal-run-status.js.map +1 -1
  199. package/dist/runners/claude-code.service.js +2 -13
  200. package/dist/runners/claude-code.service.js.map +1 -1
  201. package/dist/runners/codex.service.js +2 -11
  202. package/dist/runners/codex.service.js.map +1 -1
  203. package/dist/runners/gh-identity.js +0 -52
  204. package/dist/runners/gh-identity.js.map +1 -1
  205. package/dist/runners/integrator-branch-naming.js +16 -19
  206. package/dist/runners/integrator-branch-naming.js.map +1 -1
  207. package/dist/runners/integrator-git.js +0 -25
  208. package/dist/runners/integrator-git.js.map +1 -1
  209. package/dist/runners/integrator-remote.js +0 -2
  210. package/dist/runners/integrator-remote.js.map +1 -1
  211. package/dist/runners/integrator-types.js +0 -7
  212. package/dist/runners/integrator-types.js.map +1 -1
  213. package/dist/runners/integrator.js +231 -230
  214. package/dist/runners/integrator.js.map +1 -1
  215. package/dist/runners/runner.module.js +0 -6
  216. package/dist/runners/runner.module.js.map +1 -1
  217. package/dist/runners/tokens.js +0 -4
  218. package/dist/runners/tokens.js.map +1 -1
  219. package/dist/runners/worktree.service.js +3 -19
  220. package/dist/runners/worktree.service.js.map +1 -1
  221. package/dist/task-control-plane/pr-readiness.service.js +15 -13
  222. package/dist/task-control-plane/pr-readiness.service.js.map +1 -1
  223. package/dist/task-control-plane/run-watch.service.js +170 -63
  224. package/dist/task-control-plane/run-watch.service.js.map +1 -1
  225. package/dist/task-control-plane/task-control-plane-api.service.js +285 -40
  226. package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
  227. package/dist/worker/artifact-store.js +21 -3
  228. package/dist/worker/artifact-store.js.map +1 -1
  229. package/dist/worker/build-context.js +10 -10
  230. package/dist/worker/build-context.js.map +1 -1
  231. package/dist/worker/claude-code-runner.js +76 -48
  232. package/dist/worker/claude-code-runner.js.map +1 -1
  233. package/dist/worker/codex-runner.js +128 -35
  234. package/dist/worker/codex-runner.js.map +1 -1
  235. package/dist/worker/git-worktree-manager.js +20 -67
  236. package/dist/worker/git-worktree-manager.js.map +1 -1
  237. package/dist/worker/process-executor.js +144 -27
  238. package/dist/worker/process-executor.js.map +1 -1
  239. package/dist/worker/result-envelope.js +33 -49
  240. package/dist/worker/result-envelope.js.map +1 -1
  241. package/dist/worker/runner-common.js +29 -0
  242. package/dist/worker/runner-common.js.map +1 -1
  243. package/dist/worker/runner-dispatch.js +0 -3
  244. package/dist/worker/runner-dispatch.js.map +1 -1
  245. package/dist/worker/runner.js +16 -1
  246. package/dist/worker/runner.js.map +1 -1
  247. package/dist/worker/stub-runner.js +0 -7
  248. package/dist/worker/stub-runner.js.map +1 -1
  249. package/package.json +2 -2
@@ -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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"}
@@ -4,12 +4,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- /**
8
- * RunnerModule — provides RUN_AGENT and IntegratorService.
9
- *
10
- * Default PROCESS_EXECUTOR = spawnExecutor (real). Tests override with a fake.
11
- * DBOS-SEALED: zero @dbos-inc imports.
12
- */
13
7
  import { Module } from '@nestjs/common';
14
8
  import { RevisiumModule } from '../revisium/revisium.module.js';
15
9
  import { ClaudeCodeService } from './claude-code.service.js';
@@ -1 +1 @@
1
- {"version":3,"file":"runner.module.js","sourceRoot":"","sources":["../../src/runners/runner.module.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAmBvD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAjBxB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,cAAc,CAAC;QACzB,SAAS,EAAE;YACT,iBAAiB;YACjB,YAAY;YACZ,iBAAiB;YACjB,eAAe;YACf,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE;YACtD;gBACE,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,CAAC,EAAqB,EAAE,KAAmB,EAAE,EAAE,CACzD,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;gBAChF,MAAM,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;aAC1C;SACF;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,eAAe,CAAC;KACzD,CAAC;GACW,YAAY,CAAG"}
1
+ {"version":3,"file":"runner.module.js","sourceRoot":"","sources":["../../src/runners/runner.module.ts"],"names":[],"mappings":";;;;;;AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAmBvD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAjBxB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,cAAc,CAAC;QACzB,SAAS,EAAE;YACT,iBAAiB;YACjB,YAAY;YACZ,iBAAiB;YACjB,eAAe;YACf,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE;YACtD;gBACE,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,CAAC,EAAqB,EAAE,KAAmB,EAAE,EAAE,CACzD,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;gBAChF,MAAM,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;aAC1C;SACF;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,eAAe,CAAC;KACzD,CAAC;GACW,YAAY,CAAG"}
@@ -1,7 +1,3 @@
1
- /**
2
- * Injection tokens for RunnerModule providers.
3
- * Mirrors src/revisium/tokens.ts naming pattern.
4
- */
5
1
  export const RUN_AGENT = Symbol('RUN_AGENT');
6
2
  export const PROCESS_EXECUTOR = Symbol('PROCESS_EXECUTOR');
7
3
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/runners/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/runners/tokens.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
@@ -10,18 +10,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- /**
14
- * worktree.service.ts — @Injectable wrapper over the per-run git worktree manager (plan 0017).
15
- *
16
- * DBOS-SEALED: zero @dbos-inc imports. PipelineService registers `ensure`/`release` as memoized DBOS
17
- * steps and wires them into the data-driven adapter's run lifecycle (create after live preflight,
18
- * release at terminal via the workflow `finally`).
19
- *
20
- * Resolves the BASE target-repo checkout (where `git worktree add/remove` run) and the feature branch
21
- * (the SAME `branchName` the integrator commits/pushes on) so the worktree is created already on that
22
- * branch — making the integrator's branchExists→switch path a no-op and avoiding its dirty-tree
23
- * `switch -c origin/<base>` failure.
24
- */
25
13
  import { Inject, Injectable } from '@nestjs/common';
26
14
  import { RunService } from '../revisium/run.service.js';
27
15
  import { getConfig } from '../config.js';
@@ -34,24 +22,20 @@ let WorktreeService = class WorktreeService {
34
22
  this.runService = runService;
35
23
  this.resolveBaseCwd = this.runService.makeResolveTaskCwd();
36
24
  }
37
- /** Create-if-absent the run's isolated worktree. Arrow property: safe to pass unbound to registerStep. */
38
- ensure = async (runId, taskId, title, base) => {
25
+ ensure = async (runId, taskId, title, base, issueRef) => {
39
26
  const baseRepoCwd = await this.resolveBaseCwd(taskId);
40
- const branch = branchName(taskId, title);
27
+ const branch = branchName(taskId, title, issueRef);
41
28
  return createRunWorktree({ runId, baseRepoCwd, base, branch, dataDir: getConfig().dataDir });
42
29
  };
43
- /** Release the run's worktree (best-effort, idempotent). Arrow property for safe unbound registration. */
44
30
  release = async (runId, taskId) => {
45
31
  let baseRepoCwd;
46
32
  try {
47
33
  baseRepoCwd = await this.resolveBaseCwd(taskId);
48
34
  }
49
35
  catch {
50
- // Task/repo no longer resolvable — nothing to remove from; the worktree dir (if any) is orphaned
51
- // and will be swept by `git worktree prune` on a later run against the same base repo.
52
36
  return;
53
37
  }
54
- releaseRunWorktree({ runId, baseRepoCwd, dataDir: getConfig().dataDir });
38
+ void releaseRunWorktree({ runId, baseRepoCwd, dataDir: getConfig().dataDir });
55
39
  };
56
40
  };
57
41
  WorktreeService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.service.js","sourceRoot":"","sources":["../../src/runners/worktree.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGnF,IAAM,eAAe,GAArB,MAAM,eAAe;IAGuB;IAFhC,cAAc,CAAsC;IAErE,YAAiD,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAC7D,CAAC;IAED,0GAA0G;IAC1G,MAAM,GAAG,KAAK,EACZ,KAAa,EACb,MAAc,EACd,KAAa,EACb,IAAY,EACuB,EAAE;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEF,0GAA0G;IAC1G,OAAO,GAAG,KAAK,EAAE,KAAa,EAAE,MAAc,EAAiB,EAAE;QAC/D,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,iGAAiG;YACjG,uFAAuF;YACvF,OAAO;QACT,CAAC;QACD,kBAAkB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;CACH,CAAA;AA/BY,eAAe;IAD3B,UAAU,EAAE;IAIE,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;qCAA8B,UAAU;GAH5D,eAAe,CA+B3B"}
1
+ {"version":3,"file":"worktree.service.js","sourceRoot":"","sources":["../../src/runners/worktree.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGnF,IAAM,eAAe,GAArB,MAAM,eAAe;IAGuB;IAFhC,cAAc,CAAsC;IAErE,YAAiD,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAC7D,CAAC;IAGD,MAAM,GAAG,KAAK,EACZ,KAAa,EACb,MAAc,EACd,KAAa,EACb,IAAY,EACZ,QAAmB,EACgB,EAAE;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC,CAAC;IAGF,OAAO,GAAG,KAAK,EAAE,KAAa,EAAE,MAAc,EAAiB,EAAE;QAC/D,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,KAAK,kBAAkB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC;CACH,CAAA;AA9BY,eAAe;IAD3B,UAAU,EAAE;IAIE,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;qCAA8B,UAAU;GAH5D,eAAe,CA8B3B"}
@@ -6,28 +6,30 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { Injectable } from '@nestjs/common';
8
8
  import { collectPrReadiness, } from '../poller/pr-readiness-core.js';
9
+ import { normalizeIssueRef } from '../run/issue-ref.js';
9
10
  let PrReadinessService = class PrReadinessService {
10
- getPrReadiness(input) {
11
- return collectPrReadiness(this.toCoreInput(input));
11
+ async getPrReadiness(input) {
12
+ return collectPrReadiness(normalizePrReadinessInput(input));
12
13
  }
13
14
  async listPrFeedback(input) {
14
15
  const readiness = await this.getPrReadiness(input);
15
16
  return readiness.feedback;
16
17
  }
17
- toCoreInput(input) {
18
- return {
19
- repo: input.repo,
20
- prNumber: input.prNumber,
21
- headBranch: input.headBranch,
22
- baseBranch: input.baseBranch ?? 'master',
23
- sonarProject: input.sonarProject,
24
- includeComments: input.includeComments ?? true,
25
- includeReviewThreads: input.includeReviewThreads ?? true,
26
- };
27
- }
28
18
  };
29
19
  PrReadinessService = __decorate([
30
20
  Injectable()
31
21
  ], PrReadinessService);
32
22
  export { PrReadinessService };
23
+ export function normalizePrReadinessInput(input) {
24
+ return {
25
+ repo: input.repo,
26
+ prNumber: input.prNumber,
27
+ headBranch: input.headBranch,
28
+ baseBranch: input.baseBranch ?? 'master',
29
+ sonarProject: input.sonarProject,
30
+ issueRef: normalizeIssueRef(input.issueRef, 'issueRef'),
31
+ includeComments: input.includeComments ?? true,
32
+ includeReviewThreads: input.includeReviewThreads ?? true,
33
+ };
34
+ }
33
35
  //# sourceMappingURL=pr-readiness.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pr-readiness.service.js","sourceRoot":"","sources":["../../src/task-control-plane/pr-readiness.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,kBAAkB,GAGnB,MAAM,gCAAgC,CAAC;AAuBjC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,cAAc,CAAC,KAA0B;QACvC,OAAO,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAA0B;QAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,KAA0B;QAC5C,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,QAAQ;YACxC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI;YAC9C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,IAAI;SACzD,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAqB9B"}
1
+ {"version":3,"file":"pr-readiness.service.js","sourceRoot":"","sources":["../../src/task-control-plane/pr-readiness.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,kBAAkB,GAGnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAwBjD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,KAAK,CAAC,cAAc,CAAC,KAA0B;QAC7C,OAAO,kBAAkB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAA0B;QAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;CAEF,CAAA;AAVY,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAU9B;;AAED,MAAM,UAAU,yBAAyB,CAAC,KAA0B;IAClE,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,QAAQ;QACxC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;QACvD,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI;QAC9C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,IAAI;KACzD,CAAC;AACJ,CAAC"}
@@ -1,41 +1,25 @@
1
- /**
2
- * RunWatchService — bounded long-poll watch primitive over many runs (slice 141 D2).
3
- *
4
- * The MCP HTTP transport is stateless-per-request with a request timeout (see McpHttpService): no
5
- * session, no held async-iterator, no server-initiated SSE survives one POST. So we cannot "subscribe
6
- * over MCP"; instead we convert the daemon's existing in-process push (APP_PUB_SUB) into a bounded
7
- * long-poll that RETURNS UNDER THE BRIDGE TIMEOUT with a resume cursor.
8
- *
9
- * Correctness rests on the SWEEP + CURSOR, not the push. The push (option A) only lowers latency; a
10
- * pure poll (option B, no pubSub) is an equivalent-correctness degrade. Delivery is **at-least-once +
11
- * idempotent**: `resolveRunState` is a point-in-time LEVEL read (a gate is `inbox.find(approval)`, not
12
- * an event edge), so the cursor is a per-run *marker* watermark — a re-call suppresses a run whose
13
- * actionable level it already delivered, and reports it again only when the marker changes (a new gate
14
- * id, or a status transition). Approving the same gate twice is already guarded downstream.
15
- */
16
1
  import { ControlPlaneError } from '../control-plane/errors.js';
17
- // Single source of truth for the topic names (a zero-import leaf module, so no import cycle). The
18
- // ControlPlaneSubscriptionBridge publishes these from the Postgres LISTEN feed, each payload carrying
19
- // `runId` — the field we filter wakeups on.
2
+ import { deriveCanonicalActivitySignal, } from '../observability/activity-signal.js';
20
3
  import { INBOX_ITEM_ADDED_TOPIC, RUN_UPDATED_TOPIC } from '../api/graphql-api/graphql-ws/constants.js';
21
4
  export const MAX_RUN_IDS = 50;
22
- /** Below the SDK inner-hop default of 60000ms with margin for two serial hops + the sweep itself. */
23
5
  export const MAX_SERVER_HOLD_MS = 45_000;
24
6
  export const DEFAULT_SERVER_HOLD_MS = 28_000;
25
7
  const WAKEUP_DEBOUNCE_MS = 75;
26
8
  const POLL_INTERVAL_MS = 500;
27
- const GATE_STATES = new Set(['pending_gate', 'question']);
28
- const WATCH_STATES = new Set([
9
+ const ACTIVITY_READ_TIMEOUT_MS = 250;
10
+ const WATCH_TRANSITION_STATES = new Set([
11
+ 'ready',
29
12
  'pending_gate',
30
13
  'question',
31
14
  'completed',
32
15
  'failed',
33
16
  'blocked',
17
+ 'retrying',
34
18
  ]);
35
19
  const TERMINAL_RUN_STATUS = new Set(['completed', 'failed', 'cancelled']);
36
- /** Defensive cap on caller-supplied cursor size (a legitimate cursor only carries the watched runs, ≤ MAX_RUN_IDS). */
20
+ const REQUIRES_ATTENTION = new Set(['start_run', 'ask_human', 'inspect_digest', 'inspect_log']);
37
21
  const MAX_CURSOR_ENTRIES = 200;
38
- /** The topics this watch composes off APP_PUB_SUB — exported so a test can assert sync with constants.js. */
22
+ export const MAX_WATCH_CURSOR_CHARS = 8_192;
39
23
  export const WATCH_TOPICS = [INBOX_ITEM_ADDED_TOPIC, RUN_UPDATED_TOPIC];
40
24
  export function clampServerHold(timeoutMs) {
41
25
  const requested = timeoutMs ?? DEFAULT_SERVER_HOLD_MS;
@@ -43,14 +27,10 @@ export function clampServerHold(timeoutMs) {
43
27
  return DEFAULT_SERVER_HOLD_MS;
44
28
  return Math.min(requested, MAX_SERVER_HOLD_MS);
45
29
  }
46
- /**
47
- * The cursor marker for an *actionable* run level. A *changed* marker (vs the caller's cursor) is a new
48
- * transition worth delivering: a gate is keyed by its inbox id (deterministic per gateKey, so a
49
- * *different* gate yields a different id), a terminal/blocked run by its status. `running` is not
50
- * actionable and is never recorded — `null`.
51
- */
52
30
  function markerFor(state) {
53
31
  switch (state.state) {
32
+ case 'ready':
33
+ return 'ready';
54
34
  case 'pending_gate':
55
35
  case 'question':
56
36
  return `g:${state.inbox?.id ?? ''}`;
@@ -60,6 +40,8 @@ function markerFor(state) {
60
40
  return 'f';
61
41
  case 'blocked':
62
42
  return `b:${state.runStatus}`;
43
+ case 'retrying':
44
+ return `r:${state.runStatus}:${state.workflowStatus}`;
63
45
  case 'running':
64
46
  return null;
65
47
  }
@@ -70,11 +52,12 @@ function encodeCursor(markers) {
70
52
  function decodeCursor(cursor) {
71
53
  if (!cursor)
72
54
  return {};
55
+ if (cursor.length > MAX_WATCH_CURSOR_CHARS)
56
+ return {};
73
57
  try {
74
58
  const parsed = JSON.parse(Buffer.from(cursor, 'base64url').toString('utf8'));
75
59
  if (!parsed || parsed.v !== 1 || !parsed.m || typeof parsed.m !== 'object')
76
60
  return {};
77
- // Keep only well-formed string markers, capped — a forged/oversized cursor can't force unbounded work.
78
61
  const out = {};
79
62
  for (const [runId, marker] of Object.entries(parsed.m)) {
80
63
  if (typeof marker !== 'string')
@@ -96,21 +79,60 @@ export class RunWatchService {
96
79
  this.api = api;
97
80
  this.pubSub = pubSub;
98
81
  }
99
- /** Block until any watched run hits an approval/question gate (or the hold elapses). */
100
- waitForAnyGate(input) {
101
- return this.watch(input, GATE_STATES);
82
+ async getRunAttention(runId) {
83
+ const [state, rawActivity] = await Promise.all([
84
+ this.api.resolveRunState(runId),
85
+ this.readActivitySignal(runId),
86
+ ]);
87
+ const activity = shouldExposeActivitySignal(state, rawActivity) ? rawActivity : undefined;
88
+ const nextAction = deriveRunAttentionNextAction(state, activity);
89
+ const activeAttempt = shouldExposeActiveAttempt(state, activity) ? activity?.attempt : undefined;
90
+ const inbox = compactInbox(state.inbox);
91
+ return {
92
+ runId,
93
+ state: state.state,
94
+ requiresAttention: REQUIRES_ATTENTION.has(nextAction),
95
+ nextAction,
96
+ ...(state.issueRef ? { issueRef: state.issueRef } : {}),
97
+ ...(inbox ? { inbox } : {}),
98
+ ...(state.blockedReason ? { blockedReason: state.blockedReason } : {}),
99
+ ...(activeAttempt ? { activeAttempt } : {}),
100
+ suggestedTools: suggestedTools(state, activity),
101
+ };
102
+ }
103
+ async getRunStatus(runId) {
104
+ const [state, rawActivity] = await Promise.all([
105
+ this.api.resolveRunState(runId),
106
+ this.readActivitySignal(runId),
107
+ ]);
108
+ const activity = shouldExposeActivitySignal(state, rawActivity) ? rawActivity : undefined;
109
+ const inbox = compactInbox(state.inbox);
110
+ const compact = compactActivity(activity);
111
+ return {
112
+ runId,
113
+ state: state.state,
114
+ runStatus: state.runStatus,
115
+ workflowStatus: state.workflowStatus,
116
+ ...(state.issueRef ? { issueRef: state.issueRef } : {}),
117
+ ...(state.latestEventAt ? { latestEventAt: state.latestEventAt } : {}),
118
+ ...(state.latestEventType ? { latestEventType: state.latestEventType } : {}),
119
+ ...(inbox ? { inbox } : {}),
120
+ ...(state.blockedReason ? { blockedReason: state.blockedReason } : {}),
121
+ ...(compact ? { activity: compact } : {}),
122
+ };
102
123
  }
103
- /** Like waitForAnyGate, but also surfaces terminal (completed/failed) and blocked transitions. */
104
- watchRuns(input) {
105
- return this.watch(input, WATCH_STATES);
124
+ watchRunChanges(input) {
125
+ return this.watch({
126
+ runIds: [input.runId],
127
+ cursor: input.cursor,
128
+ timeoutMs: input.timeoutMs,
129
+ signal: input.signal,
130
+ }, WATCH_TRANSITION_STATES);
106
131
  }
107
132
  async watch(input, actionable) {
108
133
  const prev = decodeCursor(input.cursor);
109
134
  const runIds = await this.resolveRunIds(input.runIds);
110
135
  const serverHold = clampServerHold(input.timeoutMs);
111
- // 1. Initial sweep first — deliver anything already actionable (the common "already gated" case
112
- // returns instantly) without arming a subscription. A transition that lands AFTER this read but
113
- // BEFORE the subscription resolves is not lost: the cursor re-call's next sweep observes it.
114
136
  const sweep = await this.sweep(runIds);
115
137
  const initial = collectNew(sweep, prev, actionable);
116
138
  const cursor0 = mergeCursor(sweep, actionable);
@@ -120,7 +142,6 @@ export class RunWatchService {
120
142
  if (runIds.length === 0 || serverHold <= 0 || input.signal?.aborted) {
121
143
  return { transitions: [], cursor: encodeCursor(cursor0), timedOut: true };
122
144
  }
123
- // 2. Nothing actionable yet → hold this single request open for the next transition.
124
145
  return this.holdForTransition(runIds, prev, actionable, cursor0, serverHold, input.signal);
125
146
  }
126
147
  holdForTransition(runIds, prev, actionable, cursor0, serverHold, signal) {
@@ -139,8 +160,6 @@ export class RunWatchService {
139
160
  clearTimeout(debounceTimer);
140
161
  if (pollTimer)
141
162
  clearInterval(pollTimer);
142
- // Detach the pubsub subscription — a held-open request that is torn down (abort/timeout) must
143
- // not leak a subscriber on the long-lived APP_PUB_SUB.
144
163
  for (const id of subIds)
145
164
  this.pubSub?.unsubscribe(id);
146
165
  subIds.length = 0;
@@ -161,18 +180,15 @@ export class RunWatchService {
161
180
  states = await this.sweep(ids);
162
181
  }
163
182
  catch {
164
- return; // transient; a later wakeup/poll retries
183
+ return;
165
184
  }
166
185
  if (settled)
167
186
  return;
168
187
  const found = collectNew(states, prev, actionable);
169
- // Merge the re-swept (dirty) runs' markers over this call's initial cursor so the other watched
170
- // runs keep theirs; still this-call-only (no cross-call carry-forward → bounded).
171
188
  if (found.length > 0) {
172
189
  settle({ transitions: found, cursor: encodeCursor({ ...cursor0, ...mergeCursor(states, actionable) }), timedOut: false });
173
190
  }
174
191
  };
175
- // Coalesce a burst of wakeups into one re-sweep per tick (each sweep is ~4 control-plane reads/run).
176
192
  const scheduleReSweep = () => {
177
193
  if (settled || debounceTimer)
178
194
  return;
@@ -181,7 +197,6 @@ export class RunWatchService {
181
197
  void reSweep();
182
198
  }, WAKEUP_DEBOUNCE_MS);
183
199
  };
184
- // res.on('close') in McpHttpService aborts extra.signal mid-handler (SDK protocol _onclose).
185
200
  if (signal)
186
201
  signal.addEventListener('abort', onAbort, { once: true });
187
202
  const holdTimer = setTimeout(() => settle(timeout()), serverHold);
@@ -189,7 +204,7 @@ export class RunWatchService {
189
204
  const onMessage = (payload) => {
190
205
  const rid = payload?.runId;
191
206
  if (rid !== undefined && !watched.has(rid))
192
- return; // not one of ours
207
+ return;
193
208
  if (rid)
194
209
  dirty.add(rid);
195
210
  scheduleReSweep();
@@ -198,7 +213,6 @@ export class RunWatchService {
198
213
  this.pubSub
199
214
  .subscribe(topic, onMessage)
200
215
  .then((id) => {
201
- // The hold may have settled (timer/abort) before subscribe resolved — detach immediately.
202
216
  if (settled)
203
217
  this.pubSub?.unsubscribe(id);
204
218
  else
@@ -208,7 +222,6 @@ export class RunWatchService {
208
222
  }
209
223
  }
210
224
  else {
211
- // Option B: no push source → poll. Same sweep+cursor correctness, latency rises by one interval.
212
225
  pollTimer = setInterval(() => {
213
226
  if (!settled)
214
227
  void reSweep();
@@ -223,9 +236,6 @@ export class RunWatchService {
223
236
  }
224
237
  return [...new Set(provided)];
225
238
  }
226
- // Omitted → watch every active (non-terminal) run, capped. A run that terminates between polls drops
227
- // out of this set, so omit-mode is best-effort for terminal transitions — pass explicit runIds for
228
- // guaranteed terminal delivery (those are always swept regardless of status).
229
239
  const runs = await this.api.listRuns({});
230
240
  return runs
231
241
  .filter((run) => !TERMINAL_RUN_STATUS.has(run.status))
@@ -233,13 +243,41 @@ export class RunWatchService {
233
243
  .slice(0, MAX_RUN_IDS);
234
244
  }
235
245
  sweep(runIds) {
236
- return Promise.all(runIds.map((runId) => this.api.resolveRunState(runId).catch((error) => {
246
+ return Promise.all(runIds.map((runId) => this.resolveRunState(runId)));
247
+ }
248
+ async resolveRunState(runId) {
249
+ return this.api.resolveRunState(runId).catch((error) => {
237
250
  if (error instanceof ControlPlaneError && error.code === 'ROW_NOT_FOUND') {
238
251
  return { runId, state: 'failed', nextAction: 'run not found', runStatus: 'not_found', workflowStatus: '' };
239
252
  }
240
- // A transient read error must not masquerade as a terminal transition; keep waiting.
241
253
  return { runId, state: 'running', nextAction: 'transient read error; will retry', runStatus: 'unknown', workflowStatus: '' };
242
- })));
254
+ });
255
+ }
256
+ async readActivitySignal(runId) {
257
+ if (!this.api.getAgentActivity)
258
+ return undefined;
259
+ try {
260
+ return deriveCanonicalActivitySignal(await withDeadline(this.api.getAgentActivity(runId), ACTIVITY_READ_TIMEOUT_MS));
261
+ }
262
+ catch {
263
+ return undefined;
264
+ }
265
+ }
266
+ }
267
+ async function withDeadline(promise, timeoutMs) {
268
+ let timer;
269
+ try {
270
+ return await Promise.race([
271
+ promise,
272
+ new Promise((resolve) => {
273
+ timer = setTimeout(() => resolve(undefined), timeoutMs);
274
+ timer.unref?.();
275
+ }),
276
+ ]);
277
+ }
278
+ finally {
279
+ if (timer)
280
+ clearTimeout(timer);
243
281
  }
244
282
  }
245
283
  function collectNew(states, prev, actionable) {
@@ -254,19 +292,18 @@ function collectNew(states, prev, actionable) {
254
292
  runId: state.runId,
255
293
  state: state.state,
256
294
  nextAction: state.nextAction,
295
+ runStatus: state.runStatus,
296
+ workflowStatus: state.workflowStatus,
297
+ ...(state.issueRef ? { issueRef: state.issueRef } : {}),
257
298
  inbox: state.inbox,
258
299
  latestBlockingEvent: state.latestBlockingEvent,
300
+ blockedReason: state.blockedReason,
301
+ latestEventAt: state.latestEventAt,
302
+ latestEventType: state.latestEventType,
259
303
  });
260
304
  }
261
305
  return out;
262
306
  }
263
- /**
264
- * Build the next cursor from THIS sweep only — no carry-forward of prior keys, so it never grows beyond
265
- * the watched set (bounds it at ≤ MAX_RUN_IDS). Records a marker only for states actionable in the
266
- * CURRENT mode: a tool must not advance the cursor past a transition it did not deliver (else a later
267
- * call in the other mode — e.g. watch_runs after wait_for_any_gate saw a `completed` run — would
268
- * wrongly suppress it). `running` and other non-actionable states carry no marker.
269
- */
270
307
  function mergeCursor(states, actionable) {
271
308
  const next = {};
272
309
  for (const state of states) {
@@ -278,4 +315,74 @@ function mergeCursor(states, actionable) {
278
315
  }
279
316
  return next;
280
317
  }
318
+ function compactInbox(inbox) {
319
+ if (!inbox)
320
+ return undefined;
321
+ return {
322
+ id: inbox.id,
323
+ kind: inbox.kind,
324
+ title: inbox.title,
325
+ status: inbox.status,
326
+ ...(inbox.stepId ? { stepId: inbox.stepId } : {}),
327
+ optionCount: Array.isArray(inbox.options) ? inbox.options.length : 0,
328
+ };
329
+ }
330
+ function shouldInspectLog(activity) {
331
+ const status = activity?.attempt?.status ?? activity?.aggregateStatus;
332
+ return status === 'failed' || status === 'timed_out' || status === 'permission_blocked';
333
+ }
334
+ function shouldExposeActiveAttempt(state, activity) {
335
+ if (!activity?.attempt)
336
+ return false;
337
+ return state.state !== 'completed';
338
+ }
339
+ function shouldExposeActivitySignal(state, activity) {
340
+ if (!activity)
341
+ return false;
342
+ return state.state !== 'completed';
343
+ }
344
+ function deriveRunAttentionNextAction(state, activity) {
345
+ switch (state.state) {
346
+ case 'ready':
347
+ return 'start_run';
348
+ case 'pending_gate':
349
+ case 'question':
350
+ return 'ask_human';
351
+ case 'completed':
352
+ return 'done';
353
+ case 'failed':
354
+ return shouldInspectLog(activity) ? 'inspect_log' : 'inspect_digest';
355
+ case 'blocked':
356
+ if (state.runStatus === 'cancelled')
357
+ return 'done';
358
+ return 'inspect_digest';
359
+ case 'retrying':
360
+ case 'running':
361
+ return 'wait';
362
+ }
363
+ }
364
+ function compactActivity(activity) {
365
+ if (!activity)
366
+ return undefined;
367
+ return {
368
+ aggregateStatus: activity.aggregateStatus,
369
+ latestActivityAt: activity.latestActivityAt,
370
+ ...(activity.latestOutputAt ? { latestOutputAt: activity.latestOutputAt } : {}),
371
+ stdoutBytes: activity.stdoutBytes,
372
+ stderrBytes: activity.stderrBytes,
373
+ eventCount: activity.eventCount,
374
+ };
375
+ }
376
+ function suggestedTools(state, activity) {
377
+ const nextAction = deriveRunAttentionNextAction(state, activity);
378
+ if (nextAction === 'inspect_log')
379
+ return ['get_agent_log'];
380
+ if (nextAction === 'inspect_digest')
381
+ return ['get_run_digest'];
382
+ if (nextAction === 'ask_human')
383
+ return ['get_inbox_item', 'approve_gate', 'reject_gate', 'answer_question'];
384
+ if (nextAction === 'start_run')
385
+ return ['start_run'];
386
+ return [];
387
+ }
281
388
  //# sourceMappingURL=run-watch.service.js.map