@revisium/orchestrator 0.1.0-alpha.5 → 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 (191) hide show
  1. package/README.md +149 -1
  2. package/dist/api/graphql-api/filters/agent-observability-exception.filter.js +24 -0
  3. package/dist/api/graphql-api/filters/agent-observability-exception.filter.js.map +1 -0
  4. package/dist/api/graphql-api/graphql-api.module.js +2 -0
  5. package/dist/api/graphql-api/graphql-api.module.js.map +1 -1
  6. package/dist/api/graphql-api/graphql-ws/agent-observability-subscription-bridge.service.js +296 -0
  7. package/dist/api/graphql-api/graphql-ws/agent-observability-subscription-bridge.service.js.map +1 -0
  8. package/dist/api/graphql-api/graphql-ws/agent-observability-subscription-mappers.js +64 -0
  9. package/dist/api/graphql-api/graphql-ws/agent-observability-subscription-mappers.js.map +1 -0
  10. package/dist/api/graphql-api/graphql-ws/constants.js +2 -0
  11. package/dist/api/graphql-api/graphql-ws/constants.js.map +1 -1
  12. package/dist/api/graphql-api/graphql-ws/pubsub.module.js +5 -2
  13. package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -1
  14. package/dist/api/graphql-api/registerGraphqlEnums.js +6 -1
  15. package/dist/api/graphql-api/registerGraphqlEnums.js.map +1 -1
  16. package/dist/api/graphql-api/runs/inputs/get-agent-log.input.js +48 -0
  17. package/dist/api/graphql-api/runs/inputs/get-agent-log.input.js.map +1 -0
  18. package/dist/api/graphql-api/runs/model/agent-activity.model.js +367 -0
  19. package/dist/api/graphql-api/runs/model/agent-activity.model.js.map +1 -0
  20. package/dist/api/graphql-api/runs/runs-subscription.resolver.js +35 -4
  21. package/dist/api/graphql-api/runs/runs-subscription.resolver.js.map +1 -1
  22. package/dist/api/graphql-api/runs/runs.resolver.js +35 -0
  23. package/dist/api/graphql-api/runs/runs.resolver.js.map +1 -1
  24. package/dist/cli/commands/doctor-report.js +39 -0
  25. package/dist/cli/commands/doctor-report.js.map +1 -0
  26. package/dist/cli/commands/lifecycle.js +237 -0
  27. package/dist/cli/commands/lifecycle.js.map +1 -0
  28. package/dist/cli/commands/mcp.js +46 -8
  29. package/dist/cli/commands/mcp.js.map +1 -1
  30. package/dist/cli/commands/revisium-helpers.js +2 -2
  31. package/dist/cli/index.js +5 -29
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/program.js +7 -23
  34. package/dist/cli/program.js.map +1 -1
  35. package/dist/config.js +42 -5
  36. package/dist/config.js.map +1 -1
  37. package/dist/control-plane/bootstrap.js +93 -0
  38. package/dist/control-plane/bootstrap.js.map +1 -0
  39. package/dist/control-plane/schema-migration.js +7 -11
  40. package/dist/control-plane/schema-migration.js.map +1 -1
  41. package/dist/control-plane/seed-default-playbook.js +23 -0
  42. package/dist/control-plane/seed-default-playbook.js.map +1 -1
  43. package/dist/e2e/kit/agents.js +17 -5
  44. package/dist/e2e/kit/agents.js.map +1 -1
  45. package/dist/e2e/kit/assertions.js +20 -0
  46. package/dist/e2e/kit/assertions.js.map +1 -1
  47. package/dist/e2e/kit/harness.js +12 -1
  48. package/dist/e2e/kit/harness.js.map +1 -1
  49. package/dist/e2e/kit/scenarios.js +1 -1
  50. package/dist/e2e/recovery-dd-crash-child.js +3 -2
  51. package/dist/e2e/recovery-dd-crash-child.js.map +1 -1
  52. package/dist/engine/dbos.service.js +20 -0
  53. package/dist/engine/dbos.service.js.map +1 -1
  54. package/dist/engine/ensure-postgres.js +11 -9
  55. package/dist/engine/ensure-postgres.js.map +1 -1
  56. package/dist/features/runs/queries/handlers/runs-query.handlers.js +135 -0
  57. package/dist/features/runs/queries/handlers/runs-query.handlers.js.map +1 -1
  58. package/dist/features/runs/queries/impl/get-agent-activity.query.js +7 -0
  59. package/dist/features/runs/queries/impl/get-agent-activity.query.js.map +1 -0
  60. package/dist/features/runs/queries/impl/get-agent-attempts.query.js +7 -0
  61. package/dist/features/runs/queries/impl/get-agent-attempts.query.js.map +1 -0
  62. package/dist/features/runs/queries/impl/get-agent-log.query.js +7 -0
  63. package/dist/features/runs/queries/impl/get-agent-log.query.js.map +1 -0
  64. package/dist/features/runs/queries/index.js +4 -1
  65. package/dist/features/runs/queries/index.js.map +1 -1
  66. package/dist/features/runs/runs-api.service.js +12 -0
  67. package/dist/features/runs/runs-api.service.js.map +1 -1
  68. package/dist/host/daemon.js +68 -0
  69. package/dist/host/daemon.js.map +1 -0
  70. package/dist/host/ensure-host.js +109 -0
  71. package/dist/host/ensure-host.js.map +1 -0
  72. package/dist/host/host-runtime.js +52 -0
  73. package/dist/host/host-runtime.js.map +1 -0
  74. package/dist/http/graphql-host.js +8 -2
  75. package/dist/http/graphql-host.js.map +1 -1
  76. package/dist/http/graphql-host.module.js +3 -0
  77. package/dist/http/graphql-host.module.js.map +1 -1
  78. package/dist/mcp/mcp-capabilities.js +6 -1
  79. package/dist/mcp/mcp-capabilities.js.map +1 -1
  80. package/dist/mcp/mcp-facade.service.js +24 -0
  81. package/dist/mcp/mcp-facade.service.js.map +1 -1
  82. package/dist/mcp/mcp-http.service.js +95 -0
  83. package/dist/mcp/mcp-http.service.js.map +1 -0
  84. package/dist/mcp/mcp-tools.js +58 -0
  85. package/dist/mcp/mcp-tools.js.map +1 -1
  86. package/dist/observability/agent-activity-reporter.js +185 -0
  87. package/dist/observability/agent-activity-reporter.js.map +1 -0
  88. package/dist/observability/agent-observability.service.js +1142 -0
  89. package/dist/observability/agent-observability.service.js.map +1 -0
  90. package/dist/observability/index.js +4 -0
  91. package/dist/observability/index.js.map +1 -0
  92. package/dist/observability/types.js +11 -0
  93. package/dist/observability/types.js.map +1 -0
  94. package/dist/pipeline/data-driven-task.workflow.js +37 -75
  95. package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
  96. package/dist/pipeline/pipeline.service.js +54 -15
  97. package/dist/pipeline/pipeline.service.js.map +1 -1
  98. package/dist/pipeline-core/validate-capability.js +23 -0
  99. package/dist/pipeline-core/validate-capability.js.map +1 -0
  100. package/dist/pipeline-core/validate-conflicts.js +37 -0
  101. package/dist/pipeline-core/validate-conflicts.js.map +1 -0
  102. package/dist/pipeline-core/validate-dataflow.js +180 -0
  103. package/dist/pipeline-core/validate-dataflow.js.map +1 -0
  104. package/dist/pipeline-core/validate-diff.js +158 -0
  105. package/dist/pipeline-core/validate-diff.js.map +1 -0
  106. package/dist/pipeline-core/validate-edges.js +44 -0
  107. package/dist/pipeline-core/validate-edges.js.map +1 -0
  108. package/dist/pipeline-core/validate-graph.js +123 -0
  109. package/dist/pipeline-core/validate-graph.js.map +1 -0
  110. package/dist/pipeline-core/validate-loops.js +226 -0
  111. package/dist/pipeline-core/validate-loops.js.map +1 -0
  112. package/dist/pipeline-core/validate-parallel.js +132 -0
  113. package/dist/pipeline-core/validate-parallel.js.map +1 -0
  114. package/dist/pipeline-core/validate-sink.js +27 -0
  115. package/dist/pipeline-core/validate-sink.js.map +1 -0
  116. package/dist/pipeline-core/validate-topology.js +140 -0
  117. package/dist/pipeline-core/validate-topology.js.map +1 -0
  118. package/dist/pipeline-core/validate-verdict.js +72 -0
  119. package/dist/pipeline-core/validate-verdict.js.map +1 -0
  120. package/dist/pipeline-core/validate.js +34 -1107
  121. package/dist/pipeline-core/validate.js.map +1 -1
  122. package/dist/revisium/run.service.js +15 -1
  123. package/dist/revisium/run.service.js.map +1 -1
  124. package/dist/runners/codex.service.js +51 -0
  125. package/dist/runners/codex.service.js.map +1 -0
  126. package/dist/runners/integrator-branch-naming.js +24 -0
  127. package/dist/runners/integrator-branch-naming.js.map +1 -0
  128. package/dist/runners/integrator-git.js +84 -0
  129. package/dist/runners/integrator-git.js.map +1 -0
  130. package/dist/runners/integrator-remote.js +34 -0
  131. package/dist/runners/integrator-remote.js.map +1 -0
  132. package/dist/runners/integrator-types.js +9 -0
  133. package/dist/runners/integrator-types.js.map +1 -0
  134. package/dist/runners/integrator.js +12 -132
  135. package/dist/runners/integrator.js.map +1 -1
  136. package/dist/runners/runner.module.js +4 -2
  137. package/dist/runners/runner.module.js.map +1 -1
  138. package/dist/smoke/cli.js +47 -0
  139. package/dist/smoke/cli.js.map +1 -0
  140. package/dist/smoke/isolation.js +113 -0
  141. package/dist/smoke/isolation.js.map +1 -0
  142. package/dist/task-control-plane/task-control-plane-api.service.js +24 -1
  143. package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
  144. package/dist/task-control-plane/task-control-plane.module.js +21 -1
  145. package/dist/task-control-plane/task-control-plane.module.js.map +1 -1
  146. package/dist/worker/artifact-store.js +6 -1
  147. package/dist/worker/artifact-store.js.map +1 -1
  148. package/dist/worker/build-context.js +135 -1
  149. package/dist/worker/build-context.js.map +1 -1
  150. package/dist/worker/claude-code-runner.js +75 -76
  151. package/dist/worker/claude-code-runner.js.map +1 -1
  152. package/dist/worker/codex-runner.js +474 -0
  153. package/dist/worker/codex-runner.js.map +1 -0
  154. package/dist/worker/result-envelope.js +51 -79
  155. package/dist/worker/result-envelope.js.map +1 -1
  156. package/dist/worker/runner-common.js +106 -0
  157. package/dist/worker/runner-common.js.map +1 -0
  158. package/dist/worker/runner-dispatch.js +3 -1
  159. package/dist/worker/runner-dispatch.js.map +1 -1
  160. package/dist/worker/runner.js.map +1 -1
  161. package/dist/worker/stub-runner.js +3 -3
  162. package/dist/worker/stub-runner.js.map +1 -1
  163. package/package.json +1 -1
  164. package/dist/app.module.js +0 -28
  165. package/dist/app.module.js.map +0 -1
  166. package/dist/cli/commands/bootstrap.js +0 -100
  167. package/dist/cli/commands/bootstrap.js.map +0 -1
  168. package/dist/cli/commands/dev.js +0 -143
  169. package/dist/cli/commands/dev.js.map +0 -1
  170. package/dist/cli/commands/inbox.js +0 -288
  171. package/dist/cli/commands/inbox.js.map +0 -1
  172. package/dist/cli/commands/playbook.js +0 -74
  173. package/dist/cli/commands/playbook.js.map +0 -1
  174. package/dist/cli/commands/poll-workflow-state.js +0 -144
  175. package/dist/cli/commands/poll-workflow-state.js.map +0 -1
  176. package/dist/cli/commands/revisium-context.js +0 -23
  177. package/dist/cli/commands/revisium-context.js.map +0 -1
  178. package/dist/cli/commands/revisium.js +0 -89
  179. package/dist/cli/commands/revisium.js.map +0 -1
  180. package/dist/cli/commands/run.js +0 -451
  181. package/dist/cli/commands/run.js.map +0 -1
  182. package/dist/cli/commands/serve.js +0 -26
  183. package/dist/cli/commands/serve.js.map +0 -1
  184. package/dist/cli/live-guard.js +0 -49
  185. package/dist/cli/live-guard.js.map +0 -1
  186. package/dist/cli/needs-host.js +0 -77
  187. package/dist/cli/needs-host.js.map +0 -1
  188. package/dist/mcp/mcp-stdio.service.js +0 -48
  189. package/dist/mcp/mcp-stdio.service.js.map +0 -1
  190. package/dist/mcp/mcp.module.js +0 -21
  191. package/dist/mcp/mcp.module.js.map +0 -1
@@ -14,6 +14,9 @@ import { Inject } from '@nestjs/common';
14
14
  import { QueryHandler } from '@nestjs/cqrs';
15
15
  import { TaskControlPlaneApiService } from '../../../../task-control-plane/task-control-plane-api.service.js';
16
16
  import { connectionFetchLimit, toConnection } from '../../../shared/connection.js';
17
+ import { GetAgentActivityQuery } from '../impl/get-agent-activity.query.js';
18
+ import { GetAgentAttemptsQuery } from '../impl/get-agent-attempts.query.js';
19
+ import { GetAgentLogQuery } from '../impl/get-agent-log.query.js';
17
20
  import { GetRunAttemptsQuery } from '../impl/get-run-attempts.query.js';
18
21
  import { GetRunDigestQuery } from '../impl/get-run-digest.query.js';
19
22
  import { GetRunEventsQuery } from '../impl/get-run-events.query.js';
@@ -221,4 +224,136 @@ SimulateRouteHandler = __decorate([
221
224
  __metadata("design:paramtypes", [TaskControlPlaneApiService])
222
225
  ], SimulateRouteHandler);
223
226
  export { SimulateRouteHandler };
227
+ function toDate(value) {
228
+ if (!value)
229
+ return new Date(0);
230
+ const parsed = new Date(value);
231
+ return Number.isNaN(parsed.getTime()) ? new Date(0) : parsed;
232
+ }
233
+ function mapLastStream(stream) {
234
+ if (!stream)
235
+ return undefined;
236
+ if (stream === 'agent-jsonl')
237
+ return 'agent_jsonl';
238
+ return stream;
239
+ }
240
+ function mapAgentAttempt(attempt) {
241
+ return {
242
+ runId: attempt.runId,
243
+ attemptId: attempt.attemptId,
244
+ stepId: attempt.stepId,
245
+ stepKey: attempt.stepKey,
246
+ role: attempt.role,
247
+ runner: attempt.runner,
248
+ artifactRef: attempt.artifactRef,
249
+ startedAt: toDate(attempt.startedAt),
250
+ finishedAt: attempt.finishedAt ? toDate(attempt.finishedAt) : undefined,
251
+ status: attempt.status,
252
+ exitCode: attempt.exitCode ?? null,
253
+ timedOut: attempt.timedOut,
254
+ stdoutBytes: attempt.stdoutBytes,
255
+ stderrBytes: attempt.stderrBytes,
256
+ };
257
+ }
258
+ function mapAgentActivity(snapshot) {
259
+ return {
260
+ runId: snapshot.runId,
261
+ attemptId: snapshot.attemptId,
262
+ stepId: snapshot.stepId,
263
+ stepKey: snapshot.stepKey,
264
+ role: snapshot.role,
265
+ runner: snapshot.runner,
266
+ pid: snapshot.pid,
267
+ status: snapshot.status,
268
+ startedAt: toDate(snapshot.startedAt),
269
+ lastEventAt: toDate(snapshot.lastEventAt),
270
+ lastOutputAt: snapshot.lastOutputAt ? toDate(snapshot.lastOutputAt) : undefined,
271
+ lastStream: mapLastStream(snapshot.lastStream),
272
+ stdoutBytes: snapshot.stdoutBytes,
273
+ stderrBytes: snapshot.stderrBytes,
274
+ eventCount: snapshot.eventCount,
275
+ artifactRef: snapshot.artifactRef,
276
+ exitCode: snapshot.exitCode ?? null,
277
+ timedOut: snapshot.timedOut,
278
+ error: snapshot.error,
279
+ };
280
+ }
281
+ function mapAgentRunActivity(activity) {
282
+ return {
283
+ runId: activity.runId,
284
+ aggregateStatus: activity.aggregateStatus,
285
+ latestActivityAt: toDate(activity.latestActivityAt),
286
+ latestOutputAt: activity.latestOutputAt ? toDate(activity.latestOutputAt) : undefined,
287
+ attempts: activity.attempts.map(mapAgentActivity),
288
+ };
289
+ }
290
+ function mapAgentLogChunk(chunk) {
291
+ return {
292
+ runId: chunk.runId,
293
+ attemptId: chunk.attemptId,
294
+ stream: chunk.stream,
295
+ offsetBytes: chunk.offsetBytes,
296
+ nextOffsetBytes: chunk.nextOffsetBytes,
297
+ totalBytes: chunk.totalBytes,
298
+ truncated: chunk.truncated,
299
+ content: chunk.content,
300
+ };
301
+ }
302
+ let GetAgentActivityHandler = class GetAgentActivityHandler {
303
+ api;
304
+ constructor(api) {
305
+ this.api = api;
306
+ }
307
+ async execute(query) {
308
+ const activity = await this.api.getAgentActivity(query.data.runId);
309
+ if (!activity)
310
+ return null;
311
+ return mapAgentRunActivity(activity);
312
+ }
313
+ };
314
+ GetAgentActivityHandler = __decorate([
315
+ QueryHandler(GetAgentActivityQuery),
316
+ __param(0, Inject(TaskControlPlaneApiService)),
317
+ __metadata("design:paramtypes", [TaskControlPlaneApiService])
318
+ ], GetAgentActivityHandler);
319
+ export { GetAgentActivityHandler };
320
+ let GetAgentAttemptsHandler = class GetAgentAttemptsHandler {
321
+ api;
322
+ constructor(api) {
323
+ this.api = api;
324
+ }
325
+ async execute(query) {
326
+ const attempts = await this.api.getAgentAttempts(query.data.runId);
327
+ return attempts.map(mapAgentAttempt);
328
+ }
329
+ };
330
+ GetAgentAttemptsHandler = __decorate([
331
+ QueryHandler(GetAgentAttemptsQuery),
332
+ __param(0, Inject(TaskControlPlaneApiService)),
333
+ __metadata("design:paramtypes", [TaskControlPlaneApiService])
334
+ ], GetAgentAttemptsHandler);
335
+ export { GetAgentAttemptsHandler };
336
+ let GetAgentLogHandler = class GetAgentLogHandler {
337
+ api;
338
+ constructor(api) {
339
+ this.api = api;
340
+ }
341
+ async execute(query) {
342
+ const chunk = await this.api.getAgentLog({
343
+ runId: query.data.runId,
344
+ attemptId: query.data.attemptId,
345
+ stream: query.data.stream,
346
+ offsetBytes: query.data.offsetBytes,
347
+ limitBytes: query.data.limitBytes,
348
+ tailBytes: query.data.tailBytes,
349
+ });
350
+ return mapAgentLogChunk(chunk);
351
+ }
352
+ };
353
+ GetAgentLogHandler = __decorate([
354
+ QueryHandler(GetAgentLogQuery),
355
+ __param(0, Inject(TaskControlPlaneApiService)),
356
+ __metadata("design:paramtypes", [TaskControlPlaneApiService])
357
+ ], GetAgentLogHandler);
358
+ export { GetAgentLogHandler };
224
359
  //# sourceMappingURL=runs-query.handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runs-query.handlers.js","sourceRoot":"","sources":["../../../../../src/features/runs/queries/handlers/runs-query.handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runs-query.handlers.js","sourceRoot":"","sources":["../../../../../src/features/runs/queries/handlers/runs-query.handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export class GetAgentActivityQuery {
2
+ data;
3
+ constructor(data) {
4
+ this.data = data;
5
+ }
6
+ }
7
+ //# sourceMappingURL=get-agent-activity.query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-agent-activity.query.js","sourceRoot":"","sources":["../../../../../src/features/runs/queries/impl/get-agent-activity.query.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,qBAAqB;IACX;IAArB,YAAqB,IAA+B;QAA/B,SAAI,GAAJ,IAAI,CAA2B;IAAG,CAAC;CACzD"}
@@ -0,0 +1,7 @@
1
+ export class GetAgentAttemptsQuery {
2
+ data;
3
+ constructor(data) {
4
+ this.data = data;
5
+ }
6
+ }
7
+ //# sourceMappingURL=get-agent-attempts.query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-agent-attempts.query.js","sourceRoot":"","sources":["../../../../../src/features/runs/queries/impl/get-agent-attempts.query.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,qBAAqB;IACX;IAArB,YAAqB,IAA+B;QAA/B,SAAI,GAAJ,IAAI,CAA2B;IAAG,CAAC;CACzD"}
@@ -0,0 +1,7 @@
1
+ export class GetAgentLogQuery {
2
+ data;
3
+ constructor(data) {
4
+ this.data = data;
5
+ }
6
+ }
7
+ //# sourceMappingURL=get-agent-log.query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-agent-log.query.js","sourceRoot":"","sources":["../../../../../src/features/runs/queries/impl/get-agent-log.query.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,gBAAgB;IACN;IAArB,YAAqB,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;CACpD"}
@@ -1,5 +1,8 @@
1
- import { GetRunAttemptsHandler, GetRunDigestHandler, GetRunEventsHandler, GetRunProgressHandler, GetRunHandler, GetRunWorkflowHandler, ListRunsHandler, SimulateRouteHandler, } from './handlers/runs-query.handlers.js';
1
+ import { GetAgentActivityHandler, GetAgentAttemptsHandler, GetAgentLogHandler, GetRunAttemptsHandler, GetRunDigestHandler, GetRunEventsHandler, GetRunProgressHandler, GetRunHandler, GetRunWorkflowHandler, ListRunsHandler, SimulateRouteHandler, } from './handlers/runs-query.handlers.js';
2
2
  export const runsQueryHandlers = [
3
+ GetAgentActivityHandler,
4
+ GetAgentAttemptsHandler,
5
+ GetAgentLogHandler,
3
6
  GetRunAttemptsHandler,
4
7
  GetRunDigestHandler,
5
8
  GetRunEventsHandler,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/runs/queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,qBAAqB;IACrB,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,aAAa;IACb,qBAAqB;IACrB,eAAe;IACf,oBAAoB;CACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/runs/queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,uBAAuB;IACvB,uBAAuB;IACvB,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,aAAa;IACb,qBAAqB;IACrB,eAAe;IACf,oBAAoB;CACrB,CAAC"}
@@ -13,6 +13,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  import { Inject, Injectable } from '@nestjs/common';
14
14
  import { CommandBus, QueryBus } from '@nestjs/cqrs';
15
15
  import { CreateRunCommand } from './commands/impl/create-run.command.js';
16
+ import { GetAgentActivityQuery } from './queries/impl/get-agent-activity.query.js';
17
+ import { GetAgentAttemptsQuery } from './queries/impl/get-agent-attempts.query.js';
18
+ import { GetAgentLogQuery } from './queries/impl/get-agent-log.query.js';
16
19
  import { GetRunAttemptsQuery } from './queries/impl/get-run-attempts.query.js';
17
20
  import { GetRunDigestQuery } from './queries/impl/get-run-digest.query.js';
18
21
  import { GetRunEventsQuery } from './queries/impl/get-run-events.query.js';
@@ -55,6 +58,15 @@ let RunsApiService = class RunsApiService {
55
58
  createRun(data) {
56
59
  return this.commandBus.execute(new CreateRunCommand(data));
57
60
  }
61
+ getAgentActivity(data) {
62
+ return this.queryBus.execute(new GetAgentActivityQuery(data));
63
+ }
64
+ getAgentAttempts(data) {
65
+ return this.queryBus.execute(new GetAgentAttemptsQuery(data));
66
+ }
67
+ getAgentLog(data) {
68
+ return this.queryBus.execute(new GetAgentLogQuery(data));
69
+ }
58
70
  };
59
71
  RunsApiService = __decorate([
60
72
  Injectable(),
@@ -1 +1 @@
1
- {"version":3,"file":"runs-api.service.js","sourceRoot":"","sources":["../../../src/features/runs/runs-api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAA6B,MAAM,uCAAuC,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAgC,MAAM,0CAA0C,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAA8B,MAAM,wCAAwC,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAA8B,MAAM,wCAAwC,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAgC,MAAM,0CAA0C,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAwB,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAgC,MAAM,0CAA0C,CAAC;AAC7G,OAAO,EAAE,aAAa,EAA0B,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAA+B,MAAM,wCAAwC,CAAC;AAGlG,IAAM,cAAc,GAApB,MAAM,cAAc;IAEY;IACE;IAFvC,YACqC,QAAkB,EAChB,UAAsB;QADxB,aAAQ,GAAR,QAAQ,CAAU;QAChB,eAAU,GAAV,UAAU,CAAY;IAC1D,CAAC;IAEJ,QAAQ,CAAC,IAAuB;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,IAAqB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,YAAY,CAAC,IAA2B;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc,CAAC,IAA6B;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,CAAC,IAA6B;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,CAAC,IAA6B;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,YAAY,CAAC,IAA2B;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,aAAa,CAAC,IAA4B;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS,CAAC,IAA0B;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;CACF,CAAA;AAzCY,cAAc;IAD1B,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;qCAD0B,QAAQ;QACJ,UAAU;GAHlD,cAAc,CAyC1B"}
1
+ {"version":3,"file":"runs-api.service.js","sourceRoot":"","sources":["../../../src/features/runs/runs-api.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { getConfig } from '../config.js';
2
+ import { startGraphqlHost } from '../http/graphql-host.js';
3
+ import { ensureRevisium } from './ensure-revisium.js';
4
+ import { bootstrapControlPlane, listInstalledPlaybooks } from '../control-plane/bootstrap.js';
5
+ import { createDaemonInstaller, seedDefaultPlaybook, seedDefaultPlaybookBestEffort, } from '../control-plane/seed-default-playbook.js';
6
+ import { McpFacadeService } from '../mcp/mcp-facade.service.js';
7
+ import { McpHttpService } from '../mcp/mcp-http.service.js';
8
+ import { TaskControlPlaneApiService } from '../task-control-plane/task-control-plane-api.service.js';
9
+ import { removeHostRuntimeIfMatches, writeHostRuntime } from './host-runtime.js';
10
+ /** MCP endpoint port: REVO_MCP_PORT, else the GraphQL port + 1 (kept in the profile band). */
11
+ function resolveMcpPort(graphqlPort) {
12
+ const env = process.env['REVO_MCP_PORT'];
13
+ return env && /^\d+$/.test(env.trim()) ? Number(env.trim()) : graphqlPort + 1;
14
+ }
15
+ /** The detached host-daemon entrypoint (spawned by ensureHost): boot the stack, then serve + stay alive. */
16
+ export async function runHostDaemon() {
17
+ // 1. Standalone up first, then 2. all control-plane writes via fresh client scopes — BEFORE the
18
+ // service layer (startGraphqlHost) caches its read scope, so same-boot reads see a ready control-plane.
19
+ const { runtime } = await ensureRevisium();
20
+ await bootstrapControlPlane(runtime.httpPort);
21
+ await seedDefaultPlaybookBestEffort(() => seedDefaultPlaybook(createDaemonInstaller(() => listInstalledPlaybooks(runtime.httpPort))));
22
+ // 3. Now bring up the Nest/GraphQL/DBOS layer (HostLifecycle re-ensures Revisium = no-op).
23
+ const started = await startGraphqlHost();
24
+ // 4. MCP front door + 5. host.json. Wrapped so a failure AFTER startGraphqlHost (DBOS already
25
+ // launched) never leaves a live DBOS owner without host.json: on error we close the MCP server +
26
+ // Nest app (→ DBOS.shutdown) and exit non-zero, so ensureHost reports the failure, not a zombie.
27
+ let mcpServer;
28
+ try {
29
+ // Build the MCP facade from the DI-resolved TaskControlPlaneApiService (the surface the GraphQL
30
+ // resolvers use): resolving McpFacadeService itself via app.get left its injected `api` undefined.
31
+ const mcpPort = resolveMcpPort(started.port);
32
+ const api = started.app.get(TaskControlPlaneApiService, { strict: false });
33
+ mcpServer = await new McpHttpService(new McpFacadeService(api)).start(mcpPort);
34
+ const startedAt = new Date().toISOString();
35
+ const snapshot = { pid: process.pid, startedAt };
36
+ // host.json is written LAST — its presence is the "fully ready" signal ensureHost waits on.
37
+ writeHostRuntime({
38
+ pid: process.pid,
39
+ graphqlPort: started.port,
40
+ mcpPort,
41
+ startedAt,
42
+ profile: getConfig().profile,
43
+ });
44
+ const runningMcp = mcpServer;
45
+ let closing = false;
46
+ const shutdown = () => {
47
+ if (closing)
48
+ return;
49
+ closing = true;
50
+ runningMcp.close();
51
+ started.app
52
+ .close() // → HostLifecycle.onApplicationShutdown → DBOS.shutdown()
53
+ .catch(() => undefined)
54
+ .finally(() => {
55
+ removeHostRuntimeIfMatches(snapshot);
56
+ process.exit(0);
57
+ });
58
+ };
59
+ process.on('SIGTERM', shutdown);
60
+ process.on('SIGINT', shutdown);
61
+ }
62
+ catch (err) {
63
+ mcpServer?.close();
64
+ await started.app.close().catch(() => undefined);
65
+ throw err;
66
+ }
67
+ }
68
+ //# sourceMappingURL=daemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/host/daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * ensureHost() — attach-or-spawn the long-lived Revo host daemon (ADR 0006), mirroring the
3
+ * three-state model of ensureRevisium:
4
+ * 1. HEALTHY → attach, return alreadyRunning=true.
5
+ * 2. ALIVE BUT UNHEALTHY → wait for it to finish booting; never spawn a duplicate (the GraphQL
6
+ * port would collide), then throw if it stays unhealthy.
7
+ * 3. NO LIVE DAEMON → spawn detached + unref, wait for GraphQL health.
8
+ *
9
+ * The daemon is the single DBOS owner; this helper is the ONLY way the stack acquires a host.
10
+ */
11
+ import { spawn } from 'node:child_process';
12
+ import { closeSync, openSync } from 'node:fs';
13
+ import { getConfig, isAlive, resolveDefaultGraphqlPort } from '../config.js';
14
+ import { isHostRunning, readHostRuntime, removeHostRuntime, } from './host-runtime.js';
15
+ const DEFAULT_TIMEOUT_MS = 120_000;
16
+ /** Budget to let an alive-but-not-yet-healthy daemon finish booting before giving up. */
17
+ const DEFAULT_RECHECK_MS = 20_000;
18
+ const POLL_INTERVAL_MS = 300;
19
+ /** The GraphQL port the daemon listens on — must match startGraphqlHost's resolution. */
20
+ export function expectedGraphqlPort() {
21
+ const env = process.env['REVO_GRAPHQL_PORT'];
22
+ if (env && /^\d+$/.test(env.trim()))
23
+ return Number(env.trim());
24
+ return resolveDefaultGraphqlPort();
25
+ }
26
+ /** GraphQL liveness probe: the daemon answers a trivial query on its port. */
27
+ export async function isGraphqlHealthy(port) {
28
+ try {
29
+ const res = await fetch(`http://127.0.0.1:${port}/graphql`, {
30
+ method: 'POST',
31
+ headers: { 'content-type': 'application/json' },
32
+ body: JSON.stringify({ query: '{ __typename }' }),
33
+ signal: AbortSignal.timeout(3000),
34
+ });
35
+ return res.ok;
36
+ }
37
+ catch {
38
+ return false;
39
+ }
40
+ }
41
+ /**
42
+ * Ready = `host.json` present with a LIVE pid AND GraphQL answering. The daemon writes host.json
43
+ * last (after the control-plane bootstrap), so readiness implies the whole stack is usable — not
44
+ * merely that the GraphQL socket is open.
45
+ */
46
+ async function waitForReady(timeoutMs) {
47
+ const deadline = Date.now() + timeoutMs;
48
+ for (;;) {
49
+ const runtime = readHostRuntime();
50
+ if (runtime && isAlive(runtime.pid) && (await isGraphqlHealthy(runtime.graphqlPort)))
51
+ return runtime;
52
+ if (Date.now() >= deadline)
53
+ return null;
54
+ await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
55
+ }
56
+ }
57
+ /**
58
+ * Build the argv to re-invoke THIS CLI as the detached daemon. Handles dev (tsx running the `.ts`
59
+ * source — node needs the tsx loader) vs prod (node running the compiled `.js` entry directly).
60
+ * `entry` defaults to this process's script; it is a parameter so the dev/prod split is unit-testable.
61
+ */
62
+ export function daemonSpawnArgv(entry = process.argv[1]) {
63
+ const daemonArgs = ['__daemon'];
64
+ if (entry.endsWith('.ts')) {
65
+ return [process.execPath, ['--import', 'tsx', entry, ...daemonArgs]];
66
+ }
67
+ return [process.execPath, [entry, ...daemonArgs]];
68
+ }
69
+ function spawnDaemon() {
70
+ const out = openSync(getConfig().hostLogFile, 'a');
71
+ const [cmd, args] = daemonSpawnArgv();
72
+ // env inheritance carries the resolved profile (REVO_PROFILE / REVO_* knobs) to the daemon.
73
+ const child = spawn(cmd, args, { detached: true, stdio: ['ignore', out, out], env: process.env });
74
+ closeSync(out);
75
+ if (!child.pid)
76
+ throw new Error('Failed to spawn Revo host daemon: spawn returned no pid');
77
+ child.unref(); // detached — the daemon outlives this CLI process
78
+ }
79
+ /** Attach to the running host daemon, or spawn one if absent — the only way the stack acquires a host. */
80
+ export async function ensureHost(options = {}) {
81
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
82
+ const recheckMs = options.recheckMs ?? DEFAULT_RECHECK_MS;
83
+ const existing = readHostRuntime();
84
+ if (existing && isHostRunning()) {
85
+ if (await isGraphqlHealthy(existing.graphqlPort)) {
86
+ return { runtime: existing, alreadyRunning: true };
87
+ }
88
+ // Alive but not ready — likely mid-boot/bootstrap. Wait; never spawn a duplicate (port collision).
89
+ const ready = await waitForReady(recheckMs);
90
+ if (ready)
91
+ return { runtime: ready, alreadyRunning: true };
92
+ throw new Error(`Revo host daemon (pid ${existing.pid}) is alive but not healthy on GraphQL port ` +
93
+ `${existing.graphqlPort}. Stop it with \`revo stop\` and retry.`);
94
+ }
95
+ // No live daemon — clear a stale host.json (dead pid), then spawn a fresh detached one.
96
+ // Known limitation (matches ensureRevisium's deferred concurrent-cold-start): this check-then-spawn
97
+ // is not atomic, so two ensureHost() callers racing with no live daemon could both spawn `__daemon`.
98
+ // The second daemon's startGraphqlHost fails fast (the GraphQL port is already bound) and exits, so
99
+ // it cannot become a second DBOS owner; full cross-process spawn locking is deferred.
100
+ if (existing)
101
+ removeHostRuntime();
102
+ spawnDaemon();
103
+ const ready = await waitForReady(timeoutMs);
104
+ if (!ready) {
105
+ throw new Error(`Revo host daemon did not become ready within ${timeoutMs / 1000}s — see \`revo logs\`.`);
106
+ }
107
+ return { runtime: ready, alreadyRunning: false };
108
+ }
109
+ //# sourceMappingURL=ensure-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-host.js","sourceRoot":"","sources":["../../src/host/ensure-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Host daemon runtime file (`host.json`) — the tracked identity of the long-lived Revo/NestJS
3
+ * host daemon, the single DBOS owner (ADR 0006). It lives beside the standalone `runtime.json`
4
+ * in the profile data dir but is a SEPARATE file: the standalone daemon and the host daemon have
5
+ * independent lifecycles, so conflating them would let one's stale pid mask the other's state.
6
+ *
7
+ * Shape is intentionally minimal — only what `ensureHost`/`status`/clients need: the pid to prove
8
+ * liveness, the GraphQL port that is the client transport, and the profile/startedAt for display
9
+ * and compare-and-delete identity. Standalone HTTP/pg ports stay in `runtime.json` (readRuntime).
10
+ */
11
+ import { existsSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
12
+ import { join } from 'node:path';
13
+ import { getConfig, isAlive } from '../config.js';
14
+ export function hostRuntimeFile() {
15
+ return join(getConfig().dataDir, 'host.json');
16
+ }
17
+ export function readHostRuntime() {
18
+ const file = hostRuntimeFile();
19
+ if (!existsSync(file))
20
+ return null;
21
+ try {
22
+ return JSON.parse(readFileSync(file, 'utf8'));
23
+ }
24
+ catch {
25
+ return null;
26
+ }
27
+ }
28
+ export function writeHostRuntime(state) {
29
+ writeFileSync(hostRuntimeFile(), JSON.stringify(state, null, 2));
30
+ }
31
+ export function removeHostRuntime() {
32
+ const file = hostRuntimeFile();
33
+ if (existsSync(file))
34
+ rmSync(file);
35
+ }
36
+ /**
37
+ * Remove `host.json` ONLY if the file on disk still matches the snapshot (same pid AND startedAt).
38
+ * A replaced file (a concurrently-started daemon) or an already-removed file is a safe no-op — so
39
+ * cleanup can never delete a runtime that belongs to another daemon (compare-and-delete).
40
+ */
41
+ export function removeHostRuntimeIfMatches(snapshot) {
42
+ const current = readHostRuntime();
43
+ if (current?.pid === snapshot.pid && current?.startedAt === snapshot.startedAt) {
44
+ removeHostRuntime();
45
+ }
46
+ }
47
+ /** True when `host.json` records a daemon whose pid is still alive (liveness, not health). */
48
+ export function isHostRunning() {
49
+ const runtime = readHostRuntime();
50
+ return runtime !== null && isAlive(runtime.pid);
51
+ }
52
+ //# sourceMappingURL=host-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-runtime.js","sourceRoot":"","sources":["../../src/host/host-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAclD,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAqB,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAuB;IACtD,aAAa,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAA6B;IACtE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,IAAI,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,OAAO,EAAE,SAAS,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC/E,iBAAiB,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import { ValidationPipe } from '@nestjs/common';
2
2
  import { NestFactory } from '@nestjs/core';
3
3
  import { addWsServer } from '../api/graphql-api/graphql-ws/ws.js';
4
- import { resolveDefaultGraphqlPort } from '../config.js';
4
+ import { isPortFree, resolveDefaultGraphqlPort } from '../config.js';
5
5
  import { GraphqlHostModule } from './graphql-host.module.js';
6
6
  export const DEFAULT_GRAPHQL_HOST = '127.0.0.1';
7
+ const defaultDeps = {
8
+ isPortFree,
9
+ };
7
10
  function parsePort(raw) {
8
11
  if (!raw)
9
12
  return resolveDefaultGraphqlPort();
@@ -27,11 +30,14 @@ export function resolveGraphqlHostOptions(options = {}) {
27
30
  port: options.port ?? parsePort(process.env.REVO_GRAPHQL_PORT),
28
31
  };
29
32
  }
30
- export async function startGraphqlHost(options = {}) {
33
+ export async function startGraphqlHost(options = {}, deps = defaultDeps) {
31
34
  const resolved = resolveGraphqlHostOptions(options);
32
35
  if (resolved.host !== DEFAULT_GRAPHQL_HOST) {
33
36
  throw new Error(`GraphQL host must bind ${DEFAULT_GRAPHQL_HOST} in v1; received ${resolved.host}`);
34
37
  }
38
+ if (!(await deps.isPortFree(resolved.port))) {
39
+ throw new Error(`GraphQL port ${resolved.port} is already in use; set REVO_GRAPHQL_PORT or --port to a free isolated port.`);
40
+ }
35
41
  const app = await NestFactory.create(GraphqlHostModule, { logger: ['error', 'warn'] });
36
42
  app.useGlobalPipes(new ValidationPipe({ transform: true }));
37
43
  await app.listen(resolved.port, resolved.host);
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-host.js","sourceRoot":"","sources":["../../src/http/graphql-host.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC;AAchD,SAAS,SAAS,CAAC,GAAuB;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,yBAAyB,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;QAC1D,MAAM,IAAI,SAAS,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAA8B,EAAE;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,oBAAoB,CAAC;IACnF,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,0BAA0B,oBAAoB,oBAAoB,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAA8B,EAAE;IACrE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,QAAQ,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0BAA0B,oBAAoB,oBAAoB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACvF,GAAG,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,GAAG,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;QACrB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,GAAG,QAAQ;QACX,GAAG,EAAE,UAAU,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,UAAU;KACxD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"graphql-host.js","sourceRoot":"","sources":["../../src/http/graphql-host.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ import { Module } from '@nestjs/common';
8
8
  import { GraphqlApiModule } from '../api/graphql-api/graphql-api.module.js';
9
9
  import { HostLifecycle } from '../host/host.lifecycle.js';
10
10
  import { TaskControlPlaneModule } from '../task-control-plane/task-control-plane.module.js';
11
+ // The daemon serves BOTH front doors (ADR 0006): GraphQL (frontend) + MCP (agents), over one host
12
+ // process that is the single DBOS owner. The MCP server is built directly from TaskControlPlaneApi-
13
+ // Service (see daemon.ts) — no separate McpModule in the graph.
11
14
  let GraphqlHostModule = class GraphqlHostModule {
12
15
  };
13
16
  GraphqlHostModule = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-host.module.js","sourceRoot":"","sources":["../../src/http/graphql-host.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAMrF,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAJ7B,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,sBAAsB,EAAE,gBAAgB,CAAC;QACnD,SAAS,EAAE,CAAC,aAAa,CAAC;KAC3B,CAAC;GACW,iBAAiB,CAAG"}
1
+ {"version":3,"file":"graphql-host.module.js","sourceRoot":"","sources":["../../src/http/graphql-host.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAE5F,kGAAkG;AAClG,oGAAoG;AACpG,gEAAgE;AAKzD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAJ7B,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,sBAAsB,EAAE,gBAAgB,CAAC;QACnD,SAAS,EAAE,CAAC,aAAa,CAAC;KAC3B,CAAC;GACW,iBAAiB,CAAG"}
@@ -13,6 +13,11 @@ export const MCP_TOOL_NAMES = [
13
13
  'get_run',
14
14
  'get_run_events',
15
15
  'get_run_log',
16
+ 'get_agent_activity',
17
+ 'get_agent_attempts',
18
+ 'get_agent_log',
19
+ 'tail_agent_log',
20
+ 'read_agent_output_events',
16
21
  'get_run_digest',
17
22
  'wait_for_run',
18
23
  'list_inbox',
@@ -37,7 +42,7 @@ export const MCP_INSTRUCTIONS = `Revo is a local-first software-development task
37
42
 
38
43
  Use these tools to manage tasks end-to-end from your coding agent:
39
44
  - create and start runs;
40
- - inspect run status, events, attempts, and digests;
45
+ - inspect run status, events, attempts, agent activity, bounded logs, and digests;
41
46
  - resolve human inbox gates and questions;
42
47
  - inspect installed playbooks, roles, and pipelines;
43
48
  - inspect PR readiness and actionable review feedback before resuming work;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-capabilities.js","sourceRoot":"","sources":["../../src/mcp/mcp-capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY;IACZ,QAAQ;IACR,kBAAkB;IAClB,qBAAqB;IACrB,wBAAwB;IACxB,aAAa;IACb,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,gBAAgB;IAChB,uBAAuB;IACvB,cAAc;IACd,aAAa;IACb,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;CACV,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;qDAWqB,CAAC"}
1
+ {"version":3,"file":"mcp-capabilities.js","sourceRoot":"","sources":["../../src/mcp/mcp-capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY;IACZ,QAAQ;IACR,kBAAkB;IAClB,qBAAqB;IACrB,wBAAwB;IACxB,aAAa;IACb,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,oBAAoB;IACpB,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,0BAA0B;IAC1B,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,gBAAgB;IAChB,uBAAuB;IACvB,cAAc;IACd,aAAa;IACb,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;CACV,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;qDAWqB,CAAC"}