agentic-orchestrator 0.1.2 → 0.1.4

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 (300) hide show
  1. package/.claude/settings.local.json +15 -0
  2. package/CLAUDE.md +126 -0
  3. package/README.md +166 -25
  4. package/agentic/orchestrator/adapters.yaml +3 -0
  5. package/agentic/orchestrator/gates.yaml +47 -0
  6. package/agentic/orchestrator/policy.yaml +89 -0
  7. package/agentic/orchestrator/schemas/adapters.schema.json +12 -0
  8. package/agentic/orchestrator/schemas/gates.schema.json +6 -1
  9. package/agentic/orchestrator/schemas/index.schema.json +14 -0
  10. package/agentic/orchestrator/schemas/multi-project.schema.json +41 -0
  11. package/agentic/orchestrator/schemas/policy.schema.json +449 -52
  12. package/agentic/orchestrator/schemas/state.schema.json +16 -0
  13. package/agentic/orchestrator/tools/catalog.json +68 -0
  14. package/agentic/orchestrator/tools/schemas/input/cost.get.input.schema.json +10 -0
  15. package/agentic/orchestrator/tools/schemas/input/cost.record.input.schema.json +13 -0
  16. package/agentic/orchestrator/tools/schemas/input/feature.send_message.input.schema.json +11 -0
  17. package/agentic/orchestrator/tools/schemas/input/performance.get_analytics.input.schema.json +10 -0
  18. package/agentic/orchestrator/tools/schemas/input/performance.record_outcome.input.schema.json +18 -0
  19. package/agentic/orchestrator/tools/schemas/output/cost.get.output.schema.json +13 -0
  20. package/agentic/orchestrator/tools/schemas/output/cost.record.output.schema.json +13 -0
  21. package/agentic/orchestrator/tools/schemas/output/feature.ready_to_merge.output.schema.json +7 -0
  22. package/agentic/orchestrator/tools/schemas/output/feature.send_message.output.schema.json +23 -0
  23. package/agentic/orchestrator/tools/schemas/output/performance.get_analytics.output.schema.json +46 -0
  24. package/agentic/orchestrator/tools/schemas/output/performance.record_outcome.output.schema.json +10 -0
  25. package/agentic/orchestrator/tools.md +5 -0
  26. package/apps/control-plane/scripts/validate-architecture-rules.mjs +28 -2
  27. package/apps/control-plane/scripts/validate-docker-mcp-contract.mjs +12 -0
  28. package/apps/control-plane/scripts/validate-mcp-contracts.ts +92 -0
  29. package/apps/control-plane/src/application/adapters/adapter-registry.ts +169 -0
  30. package/apps/control-plane/src/application/multi-project-loader.ts +119 -0
  31. package/apps/control-plane/src/application/services/activity-monitor-service.ts +199 -0
  32. package/apps/control-plane/src/application/services/cost-tracking-service.ts +82 -0
  33. package/apps/control-plane/src/application/services/dependency-scheduler-service.ts +86 -0
  34. package/apps/control-plane/src/application/services/feature-deletion-service.ts +8 -7
  35. package/apps/control-plane/src/application/services/gate-interpolation-service.ts +15 -0
  36. package/apps/control-plane/src/application/services/gate-service.ts +38 -2
  37. package/apps/control-plane/src/application/services/instance-isolation-service.ts +18 -0
  38. package/apps/control-plane/src/application/services/issue-tracker-service.ts +469 -0
  39. package/apps/control-plane/src/application/services/merge-service.ts +67 -3
  40. package/apps/control-plane/src/application/services/notifier-service.ts +295 -0
  41. package/apps/control-plane/src/application/services/performance-analytics-service.ts +122 -0
  42. package/apps/control-plane/src/application/services/plan-service.ts +51 -0
  43. package/apps/control-plane/src/application/services/pr-monitor-service.ts +262 -0
  44. package/apps/control-plane/src/application/services/reactions-service.ts +175 -0
  45. package/apps/control-plane/src/application/services/reporting-service.ts +17 -2
  46. package/apps/control-plane/src/application/services/run-lease-service.ts +16 -38
  47. package/apps/control-plane/src/application/tools/tool-metadata.ts +4 -1
  48. package/apps/control-plane/src/cli/aop.ts +1 -1
  49. package/apps/control-plane/src/cli/attach-command-handler.ts +120 -0
  50. package/apps/control-plane/src/cli/cleanup-command-handler.ts +190 -0
  51. package/apps/control-plane/src/cli/cli-argument-parser.ts +69 -3
  52. package/apps/control-plane/src/cli/dashboard-command-handler.ts +57 -0
  53. package/apps/control-plane/src/cli/help-command-handler.ts +163 -0
  54. package/apps/control-plane/src/cli/init-command-handler.ts +609 -0
  55. package/apps/control-plane/src/cli/resume-command-handler.ts +1 -0
  56. package/apps/control-plane/src/cli/retry-command-handler.ts +138 -0
  57. package/apps/control-plane/src/cli/run-command-handler.ts +115 -3
  58. package/apps/control-plane/src/cli/send-command-handler.ts +65 -0
  59. package/apps/control-plane/src/cli/status-command-handler.ts +102 -2
  60. package/apps/control-plane/src/cli/types.ts +26 -1
  61. package/apps/control-plane/src/core/constants.ts +8 -2
  62. package/apps/control-plane/src/core/error-codes.ts +3 -1
  63. package/apps/control-plane/src/core/gates.ts +170 -50
  64. package/apps/control-plane/src/core/kernel.ts +280 -5
  65. package/apps/control-plane/src/core/path-layout.ts +12 -0
  66. package/apps/control-plane/src/core/tool-caller.ts +36 -0
  67. package/apps/control-plane/src/core/workspace-hooks.ts +87 -0
  68. package/apps/control-plane/src/interfaces/cli/bootstrap.ts +258 -9
  69. package/apps/control-plane/src/providers/providers.ts +235 -14
  70. package/apps/control-plane/src/supervisor/build-wave-executor.ts +129 -8
  71. package/apps/control-plane/src/supervisor/qa-wave-executor.ts +123 -5
  72. package/apps/control-plane/src/supervisor/run-coordinator.ts +143 -6
  73. package/apps/control-plane/src/supervisor/runtime.ts +135 -6
  74. package/apps/control-plane/src/supervisor/types.ts +12 -21
  75. package/apps/control-plane/src/supervisor/worker-decision-loop.ts +8 -0
  76. package/apps/control-plane/test/activity-monitor.spec.ts +294 -0
  77. package/apps/control-plane/test/adapter-registry.spec.ts +132 -0
  78. package/apps/control-plane/test/batch-operations.spec.ts +112 -0
  79. package/apps/control-plane/test/bootstrap-attach.spec.ts +102 -0
  80. package/apps/control-plane/test/bootstrap-edge-cases.spec.ts +252 -0
  81. package/apps/control-plane/test/bootstrap.spec.ts +560 -0
  82. package/apps/control-plane/test/cleanup-command.spec.ts +301 -0
  83. package/apps/control-plane/test/cli-helpers.spec.ts +404 -1
  84. package/apps/control-plane/test/cli.unit.spec.ts +182 -1
  85. package/apps/control-plane/test/collision-queue.spec.ts +104 -1
  86. package/apps/control-plane/test/core-utils.spec.ts +175 -2
  87. package/apps/control-plane/test/cost-tracking.spec.ts +143 -0
  88. package/apps/control-plane/test/dashboard-api.integration.spec.ts +247 -0
  89. package/apps/control-plane/test/dashboard-client.spec.ts +116 -0
  90. package/apps/control-plane/test/dashboard-command.spec.ts +103 -0
  91. package/apps/control-plane/test/dependency-scheduler.spec.ts +189 -0
  92. package/apps/control-plane/test/epoch-tracking.spec.ts +4 -4
  93. package/apps/control-plane/test/feature-deletion-service.spec.ts +422 -0
  94. package/apps/control-plane/test/feature-lifecycle.spec.ts +202 -0
  95. package/apps/control-plane/test/git-spawn-error.spec.ts +24 -0
  96. package/apps/control-plane/test/incremental-gates.spec.ts +137 -0
  97. package/apps/control-plane/test/init-wizard.spec.ts +506 -0
  98. package/apps/control-plane/test/instance-isolation.spec.ts +83 -0
  99. package/apps/control-plane/test/issue-tracker.spec.ts +890 -0
  100. package/apps/control-plane/test/kernel.coverage.spec.ts +3 -5
  101. package/apps/control-plane/test/kernel.coverage2.spec.ts +871 -0
  102. package/apps/control-plane/test/kernel.spec.ts +13 -11
  103. package/apps/control-plane/test/lock-service.spec.ts +508 -0
  104. package/apps/control-plane/test/mcp-helpers.spec.ts +176 -0
  105. package/apps/control-plane/test/mcp.spec.ts +50 -15
  106. package/apps/control-plane/test/merge-service.spec.ts +67 -4
  107. package/apps/control-plane/test/multi-project.spec.ts +372 -0
  108. package/apps/control-plane/test/notifier-service.spec.ts +388 -0
  109. package/apps/control-plane/test/parallel-gates.spec.ts +312 -0
  110. package/apps/control-plane/test/patch-service.spec.ts +253 -0
  111. package/apps/control-plane/test/performance-analytics.spec.ts +338 -0
  112. package/apps/control-plane/test/planning-wave-executor.spec.ts +168 -0
  113. package/apps/control-plane/test/pr-monitor.spec.ts +385 -0
  114. package/apps/control-plane/test/providers.spec.ts +344 -1
  115. package/apps/control-plane/test/reactions.spec.ts +392 -0
  116. package/apps/control-plane/test/resume-command.spec.ts +390 -0
  117. package/apps/control-plane/test/run-coordinator.spec.ts +481 -2
  118. package/apps/control-plane/test/schema-date-time.spec.ts +46 -0
  119. package/apps/control-plane/test/service-retry-paths.spec.ts +30 -0
  120. package/apps/control-plane/test/services.spec.ts +95 -2
  121. package/apps/control-plane/test/session-management.spec.ts +450 -0
  122. package/apps/control-plane/test/spec-ingestion.spec.ts +190 -0
  123. package/apps/control-plane/test/supervisor-collaborators.spec.ts +699 -2
  124. package/apps/control-plane/test/supervisor.spec.ts +36 -30
  125. package/apps/control-plane/test/supervisor.unit.spec.ts +405 -0
  126. package/apps/control-plane/test/worker-decision-loop.spec.ts +57 -0
  127. package/apps/control-plane/test/workspace-hooks.spec.ts +177 -0
  128. package/apps/control-plane/vitest.config.ts +21 -5
  129. package/dist/apps/control-plane/application/adapters/adapter-registry.d.ts +44 -0
  130. package/dist/apps/control-plane/application/adapters/adapter-registry.js +76 -0
  131. package/dist/apps/control-plane/application/adapters/adapter-registry.js.map +1 -0
  132. package/dist/apps/control-plane/application/multi-project-loader.d.ts +31 -0
  133. package/dist/apps/control-plane/application/multi-project-loader.js +82 -0
  134. package/dist/apps/control-plane/application/multi-project-loader.js.map +1 -0
  135. package/dist/apps/control-plane/application/services/activity-monitor-service.d.ts +43 -0
  136. package/dist/apps/control-plane/application/services/activity-monitor-service.js +132 -0
  137. package/dist/apps/control-plane/application/services/activity-monitor-service.js.map +1 -0
  138. package/dist/apps/control-plane/application/services/cost-tracking-service.d.ts +28 -0
  139. package/dist/apps/control-plane/application/services/cost-tracking-service.js +48 -0
  140. package/dist/apps/control-plane/application/services/cost-tracking-service.js.map +1 -0
  141. package/dist/apps/control-plane/application/services/dependency-scheduler-service.d.ts +26 -0
  142. package/dist/apps/control-plane/application/services/dependency-scheduler-service.js +75 -0
  143. package/dist/apps/control-plane/application/services/dependency-scheduler-service.js.map +1 -0
  144. package/dist/apps/control-plane/application/services/feature-deletion-service.d.ts +2 -0
  145. package/dist/apps/control-plane/application/services/feature-deletion-service.js +6 -7
  146. package/dist/apps/control-plane/application/services/feature-deletion-service.js.map +1 -1
  147. package/dist/apps/control-plane/application/services/gate-interpolation-service.d.ts +7 -0
  148. package/dist/apps/control-plane/application/services/gate-interpolation-service.js +7 -0
  149. package/dist/apps/control-plane/application/services/gate-interpolation-service.js.map +1 -0
  150. package/dist/apps/control-plane/application/services/gate-service.js +32 -2
  151. package/dist/apps/control-plane/application/services/gate-service.js.map +1 -1
  152. package/dist/apps/control-plane/application/services/instance-isolation-service.d.ts +11 -0
  153. package/dist/apps/control-plane/application/services/instance-isolation-service.js +17 -0
  154. package/dist/apps/control-plane/application/services/instance-isolation-service.js.map +1 -0
  155. package/dist/apps/control-plane/application/services/issue-tracker-service.d.ts +65 -0
  156. package/dist/apps/control-plane/application/services/issue-tracker-service.js +358 -0
  157. package/dist/apps/control-plane/application/services/issue-tracker-service.js.map +1 -0
  158. package/dist/apps/control-plane/application/services/merge-service.d.ts +4 -0
  159. package/dist/apps/control-plane/application/services/merge-service.js +44 -2
  160. package/dist/apps/control-plane/application/services/merge-service.js.map +1 -1
  161. package/dist/apps/control-plane/application/services/notifier-service.d.ts +74 -0
  162. package/dist/apps/control-plane/application/services/notifier-service.js +212 -0
  163. package/dist/apps/control-plane/application/services/notifier-service.js.map +1 -0
  164. package/dist/apps/control-plane/application/services/performance-analytics-service.d.ts +39 -0
  165. package/dist/apps/control-plane/application/services/performance-analytics-service.js +75 -0
  166. package/dist/apps/control-plane/application/services/performance-analytics-service.js.map +1 -0
  167. package/dist/apps/control-plane/application/services/plan-service.d.ts +1 -0
  168. package/dist/apps/control-plane/application/services/plan-service.js +53 -0
  169. package/dist/apps/control-plane/application/services/plan-service.js.map +1 -1
  170. package/dist/apps/control-plane/application/services/pr-monitor-service.d.ts +44 -0
  171. package/dist/apps/control-plane/application/services/pr-monitor-service.js +192 -0
  172. package/dist/apps/control-plane/application/services/pr-monitor-service.js.map +1 -0
  173. package/dist/apps/control-plane/application/services/reactions-service.d.ts +67 -0
  174. package/dist/apps/control-plane/application/services/reactions-service.js +114 -0
  175. package/dist/apps/control-plane/application/services/reactions-service.js.map +1 -0
  176. package/dist/apps/control-plane/application/services/reporting-service.d.ts +1 -0
  177. package/dist/apps/control-plane/application/services/reporting-service.js +13 -2
  178. package/dist/apps/control-plane/application/services/reporting-service.js.map +1 -1
  179. package/dist/apps/control-plane/application/services/run-lease-service.d.ts +2 -0
  180. package/dist/apps/control-plane/application/services/run-lease-service.js +14 -38
  181. package/dist/apps/control-plane/application/services/run-lease-service.js.map +1 -1
  182. package/dist/apps/control-plane/application/tools/tool-metadata.js +3 -1
  183. package/dist/apps/control-plane/application/tools/tool-metadata.js.map +1 -1
  184. package/dist/apps/control-plane/cli/aop.d.ts +1 -1
  185. package/dist/apps/control-plane/cli/aop.js +1 -1
  186. package/dist/apps/control-plane/cli/attach-command-handler.d.ts +12 -0
  187. package/dist/apps/control-plane/cli/attach-command-handler.js +98 -0
  188. package/dist/apps/control-plane/cli/attach-command-handler.js.map +1 -0
  189. package/dist/apps/control-plane/cli/cleanup-command-handler.d.ts +12 -0
  190. package/dist/apps/control-plane/cli/cleanup-command-handler.js +162 -0
  191. package/dist/apps/control-plane/cli/cleanup-command-handler.js.map +1 -0
  192. package/dist/apps/control-plane/cli/cli-argument-parser.js +73 -3
  193. package/dist/apps/control-plane/cli/cli-argument-parser.js.map +1 -1
  194. package/dist/apps/control-plane/cli/dashboard-command-handler.d.ts +7 -0
  195. package/dist/apps/control-plane/cli/dashboard-command-handler.js +45 -0
  196. package/dist/apps/control-plane/cli/dashboard-command-handler.js.map +1 -0
  197. package/dist/apps/control-plane/cli/help-command-handler.d.ts +8 -0
  198. package/dist/apps/control-plane/cli/help-command-handler.js +146 -0
  199. package/dist/apps/control-plane/cli/help-command-handler.js.map +1 -0
  200. package/dist/apps/control-plane/cli/init-command-handler.d.ts +26 -0
  201. package/dist/apps/control-plane/cli/init-command-handler.js +517 -0
  202. package/dist/apps/control-plane/cli/init-command-handler.js.map +1 -0
  203. package/dist/apps/control-plane/cli/resume-command-handler.js +1 -1
  204. package/dist/apps/control-plane/cli/resume-command-handler.js.map +1 -1
  205. package/dist/apps/control-plane/cli/retry-command-handler.d.ts +8 -0
  206. package/dist/apps/control-plane/cli/retry-command-handler.js +111 -0
  207. package/dist/apps/control-plane/cli/retry-command-handler.js.map +1 -0
  208. package/dist/apps/control-plane/cli/run-command-handler.d.ts +5 -0
  209. package/dist/apps/control-plane/cli/run-command-handler.js +82 -3
  210. package/dist/apps/control-plane/cli/run-command-handler.js.map +1 -1
  211. package/dist/apps/control-plane/cli/send-command-handler.d.ts +8 -0
  212. package/dist/apps/control-plane/cli/send-command-handler.js +55 -0
  213. package/dist/apps/control-plane/cli/send-command-handler.js.map +1 -0
  214. package/dist/apps/control-plane/cli/status-command-handler.d.ts +12 -1
  215. package/dist/apps/control-plane/cli/status-command-handler.js +55 -2
  216. package/dist/apps/control-plane/cli/status-command-handler.js.map +1 -1
  217. package/dist/apps/control-plane/cli/types.d.ts +26 -1
  218. package/dist/apps/control-plane/cli/types.js +15 -1
  219. package/dist/apps/control-plane/cli/types.js.map +1 -1
  220. package/dist/apps/control-plane/core/constants.d.ts +6 -0
  221. package/dist/apps/control-plane/core/constants.js +8 -2
  222. package/dist/apps/control-plane/core/constants.js.map +1 -1
  223. package/dist/apps/control-plane/core/error-codes.d.ts +2 -0
  224. package/dist/apps/control-plane/core/error-codes.js +3 -1
  225. package/dist/apps/control-plane/core/error-codes.js.map +1 -1
  226. package/dist/apps/control-plane/core/gates.d.ts +4 -0
  227. package/dist/apps/control-plane/core/gates.js +140 -43
  228. package/dist/apps/control-plane/core/gates.js.map +1 -1
  229. package/dist/apps/control-plane/core/kernel.d.ts +50 -1
  230. package/dist/apps/control-plane/core/kernel.js +220 -7
  231. package/dist/apps/control-plane/core/kernel.js.map +1 -1
  232. package/dist/apps/control-plane/core/path-layout.d.ts +3 -0
  233. package/dist/apps/control-plane/core/path-layout.js +9 -0
  234. package/dist/apps/control-plane/core/path-layout.js.map +1 -1
  235. package/dist/apps/control-plane/core/tool-caller.d.ts +32 -0
  236. package/dist/apps/control-plane/core/tool-caller.js +2 -0
  237. package/dist/apps/control-plane/core/tool-caller.js.map +1 -0
  238. package/dist/apps/control-plane/core/workspace-hooks.d.ts +20 -0
  239. package/dist/apps/control-plane/core/workspace-hooks.js +69 -0
  240. package/dist/apps/control-plane/core/workspace-hooks.js.map +1 -0
  241. package/dist/apps/control-plane/interfaces/cli/bootstrap.js +245 -9
  242. package/dist/apps/control-plane/interfaces/cli/bootstrap.js.map +1 -1
  243. package/dist/apps/control-plane/providers/providers.d.ts +42 -3
  244. package/dist/apps/control-plane/providers/providers.js +216 -5
  245. package/dist/apps/control-plane/providers/providers.js.map +1 -1
  246. package/dist/apps/control-plane/supervisor/build-wave-executor.d.ts +3 -0
  247. package/dist/apps/control-plane/supervisor/build-wave-executor.js +115 -6
  248. package/dist/apps/control-plane/supervisor/build-wave-executor.js.map +1 -1
  249. package/dist/apps/control-plane/supervisor/qa-wave-executor.d.ts +3 -0
  250. package/dist/apps/control-plane/supervisor/qa-wave-executor.js +109 -5
  251. package/dist/apps/control-plane/supervisor/qa-wave-executor.js.map +1 -1
  252. package/dist/apps/control-plane/supervisor/run-coordinator.d.ts +15 -0
  253. package/dist/apps/control-plane/supervisor/run-coordinator.js +132 -6
  254. package/dist/apps/control-plane/supervisor/run-coordinator.js.map +1 -1
  255. package/dist/apps/control-plane/supervisor/runtime.d.ts +3 -0
  256. package/dist/apps/control-plane/supervisor/runtime.js +110 -6
  257. package/dist/apps/control-plane/supervisor/runtime.js.map +1 -1
  258. package/dist/apps/control-plane/supervisor/types.d.ts +9 -16
  259. package/dist/apps/control-plane/supervisor/types.js.map +1 -1
  260. package/dist/apps/control-plane/supervisor/worker-decision-loop.d.ts +3 -0
  261. package/dist/apps/control-plane/supervisor/worker-decision-loop.js +5 -0
  262. package/dist/apps/control-plane/supervisor/worker-decision-loop.js.map +1 -1
  263. package/eslint.config.mjs +2 -1
  264. package/package.json +12 -2
  265. package/packages/web-dashboard/next-env.d.ts +5 -0
  266. package/packages/web-dashboard/next.config.js +7 -0
  267. package/packages/web-dashboard/package.json +26 -0
  268. package/packages/web-dashboard/src/app/api/actions/route.ts +64 -0
  269. package/packages/web-dashboard/src/app/api/events/route.ts +51 -0
  270. package/packages/web-dashboard/src/app/api/features/[id]/checkout/route.ts +256 -0
  271. package/packages/web-dashboard/src/app/api/features/[id]/diff/route.ts +10 -0
  272. package/packages/web-dashboard/src/app/api/features/[id]/evidence/[artifact]/route.ts +25 -0
  273. package/packages/web-dashboard/src/app/api/features/[id]/review/route.ts +63 -0
  274. package/packages/web-dashboard/src/app/api/features/[id]/route.ts +16 -0
  275. package/packages/web-dashboard/src/app/api/projects/route.ts +31 -0
  276. package/packages/web-dashboard/src/app/api/status/route.ts +15 -0
  277. package/packages/web-dashboard/src/app/globals.css +2 -0
  278. package/packages/web-dashboard/src/app/layout.tsx +15 -0
  279. package/packages/web-dashboard/src/app/page.tsx +393 -0
  280. package/packages/web-dashboard/src/lib/aop-client.ts +244 -0
  281. package/packages/web-dashboard/src/lib/multi-project-config.ts +116 -0
  282. package/packages/web-dashboard/src/lib/orchestrator-tools.ts +284 -0
  283. package/packages/web-dashboard/src/lib/types.ts +58 -0
  284. package/packages/web-dashboard/tsconfig.json +40 -0
  285. package/packages/web-dashboard/vitest.config.ts +6 -0
  286. package/spec-files/completed/agentic_orchestrator_feature_gaps_closure_spec.md +1764 -0
  287. package/spec-files/outstanding/agentic_orchestrator_enterprise_governance_dashboard_spec.md +348 -0
  288. package/spec-files/outstanding/agentic_orchestrator_knowledge_canary_spec.md +344 -0
  289. package/spec-files/outstanding/agentic_orchestrator_observability_integrity_diagnostics_spec.md +374 -0
  290. package/spec-files/outstanding/agentic_orchestrator_performance_improvements_spec.md +1059 -0
  291. package/spec-files/outstanding/agentic_orchestrator_planning_review_quality_spec.md +466 -0
  292. package/spec-files/outstanding/agentic_orchestrator_quality_adoption_execution_spec.md +198 -0
  293. package/spec-files/outstanding/agentic_orchestrator_validator_hardening_spec.md +365 -0
  294. package/spec-files/progress.md +481 -52
  295. /package/spec-files/{agentic_orchestrator_cli_delete_command_spec.md → completed/agentic_orchestrator_cli_delete_command_spec.md} +0 -0
  296. /package/spec-files/{agentic_orchestrator_dot_aop_generated_artifacts_spec.md → completed/agentic_orchestrator_dot_aop_generated_artifacts_spec.md} +0 -0
  297. /package/spec-files/{agentic_orchestrator_mcp_formalization_spec.md → completed/agentic_orchestrator_mcp_formalization_spec.md} +0 -0
  298. /package/spec-files/{agentic_orchestrator_oop_refactor_spec.md → completed/agentic_orchestrator_oop_refactor_spec.md} +0 -0
  299. /package/spec-files/{agentic_orchestrator_single_global_orchestrator_spec.md → completed/agentic_orchestrator_single_global_orchestrator_spec.md} +0 -0
  300. /package/spec-files/{agentic_orchestrator_spec.md → completed/agentic_orchestrator_spec.md} +0 -0
@@ -0,0 +1,20 @@
1
+ export interface WorkspaceHookWarning {
2
+ kind: 'symlink' | 'post_create';
3
+ target: string;
4
+ message: string;
5
+ command?: string;
6
+ code?: number;
7
+ stderr?: string;
8
+ }
9
+ export declare function formatWorkspaceHookWarning(warning: WorkspaceHookWarning): string;
10
+ /**
11
+ * Creates symlinks in the worktree for each listed file, sourcing from the main repo root.
12
+ * Failures are non-fatal and do not block worktree creation.
13
+ */
14
+ export declare function applyWorktreeSymlinks(repoRoot: string, worktreePath: string, symlinks: string[], onWarning?: (warning: WorkspaceHookWarning) => void): Promise<void>;
15
+ /**
16
+ * Runs post-create commands in the worktree directory.
17
+ * Each command string is split on whitespace into executable + args.
18
+ * Failures are non-fatal and do not block worktree creation.
19
+ */
20
+ export declare function runWorktreePostCreate(worktreePath: string, commands: string[], onWarning?: (warning: WorkspaceHookWarning) => void): Promise<void>;
@@ -0,0 +1,69 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { runCommand } from './git.js';
4
+ export function formatWorkspaceHookWarning(warning) {
5
+ if (warning.kind === 'symlink') {
6
+ return `symlink ${warning.target}: ${warning.message}`;
7
+ }
8
+ const command = warning.command ?? warning.target;
9
+ const codeSegment = typeof warning.code === 'number' ? ` (exit ${warning.code})` : '';
10
+ const stderrSegment = warning.stderr ? ` stderr=${warning.stderr.trim()}` : '';
11
+ return `post_create "${command}"${codeSegment}: ${warning.message}${stderrSegment}`;
12
+ }
13
+ /**
14
+ * Creates symlinks in the worktree for each listed file, sourcing from the main repo root.
15
+ * Failures are non-fatal and do not block worktree creation.
16
+ */
17
+ export async function applyWorktreeSymlinks(repoRoot, worktreePath, symlinks, onWarning) {
18
+ for (const link of symlinks) {
19
+ const src = path.join(repoRoot, link);
20
+ const dst = path.join(worktreePath, link);
21
+ try {
22
+ await fs.mkdir(path.dirname(dst), { recursive: true });
23
+ await fs.symlink(src, dst);
24
+ }
25
+ catch (error) {
26
+ onWarning?.({
27
+ kind: 'symlink',
28
+ target: link,
29
+ message: error instanceof Error ? error.message : String(error)
30
+ });
31
+ }
32
+ }
33
+ }
34
+ /**
35
+ * Runs post-create commands in the worktree directory.
36
+ * Each command string is split on whitespace into executable + args.
37
+ * Failures are non-fatal and do not block worktree creation.
38
+ */
39
+ export async function runWorktreePostCreate(worktreePath, commands, onWarning) {
40
+ for (const cmd of commands) {
41
+ const parts = cmd.trim().split(/\s+/);
42
+ const [executable, ...args] = parts;
43
+ if (!executable) {
44
+ continue;
45
+ }
46
+ try {
47
+ const result = await runCommand(executable, args, { cwd: worktreePath });
48
+ if (result.code !== 0) {
49
+ onWarning?.({
50
+ kind: 'post_create',
51
+ target: cmd,
52
+ command: cmd,
53
+ message: 'command exited with non-zero status',
54
+ code: result.code,
55
+ stderr: result.stderr
56
+ });
57
+ }
58
+ }
59
+ catch (error) {
60
+ onWarning?.({
61
+ kind: 'post_create',
62
+ target: cmd,
63
+ command: cmd,
64
+ message: error instanceof Error ? error.message : String(error)
65
+ });
66
+ }
67
+ }
68
+ }
69
+ //# sourceMappingURL=workspace-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-hooks.js","sourceRoot":"","sources":["../../../../apps/control-plane/src/core/workspace-hooks.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,133 @@
1
1
  import crypto from 'node:crypto';
2
+ import path from 'node:path';
3
+ import readline from 'node:readline/promises';
2
4
  import { AopKernel } from '../../core/kernel.js';
5
+ import { computeInstanceId, defaultConfigPath } from '../../application/services/instance-isolation-service.js';
3
6
  import { ERROR_CODES } from '../../core/error-codes.js';
4
7
  import { createToolingRuntime, resolveToolClient } from '../../mcp/runtime-factory.js';
5
8
  import { CliArgumentParser } from '../../cli/cli-argument-parser.js';
9
+ import { CliCommand } from '../../cli/types.js';
6
10
  import { printError, printPayload } from '../../cli/io.js';
7
11
  import { StatusCommandHandler } from '../../cli/status-command-handler.js';
8
12
  import { ResumeCommandHandler } from '../../cli/resume-command-handler.js';
9
13
  import { StopCommandHandler } from '../../cli/stop-command-handler.js';
10
14
  import { DeleteCommandHandler } from '../../cli/delete-command-handler.js';
15
+ import { CleanupCommandHandler } from '../../cli/cleanup-command-handler.js';
11
16
  import { RunCommandHandler } from '../../cli/run-command-handler.js';
12
- const SUPPORTED_COMMANDS = new Set(['run', 'status', 'resume', 'stop', 'delete']);
17
+ import { InitCommandHandler } from '../../cli/init-command-handler.js';
18
+ import { DashboardCommandHandler } from '../../cli/dashboard-command-handler.js';
19
+ import { RetryCommandHandler } from '../../cli/retry-command-handler.js';
20
+ import { SendCommandHandler } from '../../cli/send-command-handler.js';
21
+ import { AttachCommandHandler } from '../../cli/attach-command-handler.js';
22
+ import { HelpCommandHandler } from '../../cli/help-command-handler.js';
23
+ import { MultiProjectLoader } from '../../application/multi-project-loader.js';
24
+ import { NullWorkerProvider, resolveProviderSelection } from '../../providers/providers.js';
25
+ const SUPPORTED_COMMANDS = new Set(Object.values(CliCommand));
26
+ function isPathWithin(parent, target) {
27
+ const relative = path.relative(path.resolve(parent), path.resolve(target));
28
+ return relative === '' || (!relative.startsWith('..') && !path.isAbsolute(relative));
29
+ }
30
+ function selectProjectByCwd(projects, cwd) {
31
+ const matches = projects.filter((project) => isPathWithin(project.path, cwd));
32
+ if (matches.length === 1) {
33
+ return matches[0];
34
+ }
35
+ return null;
36
+ }
37
+ async function promptForProjectSelection(projects) {
38
+ const sorted = [...projects].sort((a, b) => a.name.localeCompare(b.name));
39
+ process.stdout.write('Multiple projects configured. Select one:\n');
40
+ for (let index = 0; index < sorted.length; index += 1) {
41
+ const project = sorted[index];
42
+ process.stdout.write(` ${index + 1}. ${project.name} (${project.path})\n`);
43
+ }
44
+ const rl = readline.createInterface({
45
+ input: process.stdin,
46
+ output: process.stdout
47
+ });
48
+ try {
49
+ const answer = await rl.question('Project number: ');
50
+ const numeric = Number.parseInt(answer.trim(), 10);
51
+ if (!Number.isFinite(numeric) || numeric < 1 || numeric > sorted.length) {
52
+ return null;
53
+ }
54
+ return sorted[numeric - 1].name;
55
+ }
56
+ finally {
57
+ rl.close();
58
+ }
59
+ }
13
60
  export async function runCli(argv = process.argv.slice(2), runtime = { cwd: process.cwd(), env: process.env }) {
14
61
  const parser = new CliArgumentParser();
15
62
  const options = parser.parse(argv);
16
- const repoRoot = runtime.cwd;
63
+ const multiLoader = new MultiProjectLoader();
64
+ const multiConfig = await multiLoader.load(runtime.cwd);
65
+ // Resolve repo root and project context.
66
+ let repoRoot = runtime.cwd;
67
+ let selectedProject = null;
68
+ if (options.project) {
69
+ if (!multiConfig) {
70
+ printError(ERROR_CODES.INVALID_CLI_ARGS, 'No multi-project.yaml found; cannot use --project', {
71
+ project: options.project
72
+ });
73
+ return 1;
74
+ }
75
+ selectedProject = multiLoader.getProject(multiConfig, options.project);
76
+ if (!selectedProject) {
77
+ printError(ERROR_CODES.INVALID_CLI_ARGS, `Project not found: ${options.project}`, {
78
+ project: options.project,
79
+ available: multiConfig.projects.map((p) => p.name)
80
+ });
81
+ return 1;
82
+ }
83
+ repoRoot = selectedProject.path;
84
+ }
85
+ else if (multiConfig && !options.all && options.command !== CliCommand.Init) {
86
+ if (multiConfig.projects.length === 1) {
87
+ selectedProject = multiConfig.projects[0];
88
+ repoRoot = selectedProject.path;
89
+ }
90
+ else {
91
+ const cwdSelection = selectProjectByCwd(multiConfig.projects, runtime.cwd);
92
+ if (cwdSelection) {
93
+ selectedProject = cwdSelection;
94
+ repoRoot = selectedProject.path;
95
+ }
96
+ else {
97
+ const defaultProjectName = multiConfig.defaults?.default_project;
98
+ const defaultProject = typeof defaultProjectName === 'string' && defaultProjectName.length > 0
99
+ ? multiLoader.getProject(multiConfig, defaultProjectName)
100
+ : null;
101
+ if (defaultProject) {
102
+ selectedProject = defaultProject;
103
+ repoRoot = selectedProject.path;
104
+ }
105
+ else if (process.stdin.isTTY && process.stdout.isTTY) {
106
+ const selectedName = await promptForProjectSelection(multiConfig.projects);
107
+ if (!selectedName) {
108
+ printError(ERROR_CODES.INVALID_CLI_ARGS, 'Invalid project selection', {
109
+ available_projects: multiConfig.projects.map((p) => p.name)
110
+ });
111
+ return 1;
112
+ }
113
+ selectedProject = multiLoader.getProject(multiConfig, selectedName);
114
+ if (!selectedProject) {
115
+ printError(ERROR_CODES.INVALID_CLI_ARGS, 'Selected project was not found in configuration', {
116
+ selected_project: selectedName
117
+ });
118
+ return 1;
119
+ }
120
+ repoRoot = selectedProject.path;
121
+ }
122
+ else {
123
+ printError(ERROR_CODES.INVALID_CLI_ARGS, 'Multiple projects configured; --project is required', {
124
+ available_projects: multiConfig.projects.map((p) => p.name)
125
+ });
126
+ return 1;
127
+ }
128
+ }
129
+ }
130
+ }
17
131
  try {
18
132
  if (!SUPPORTED_COMMANDS.has(options.command)) {
19
133
  printError(ERROR_CODES.INVALID_CLI_ARGS, `Unknown command: ${options.command}`, {
@@ -21,19 +135,107 @@ export async function runCli(argv = process.argv.slice(2), runtime = { cwd: proc
21
135
  });
22
136
  return 1;
23
137
  }
138
+ if (options.command === CliCommand.Help) {
139
+ // The next argv token (if any) is the subcommand to explain
140
+ const subcommand = argv.find((a) => !a.startsWith('-') && a !== CliCommand.Help);
141
+ const handler = new HelpCommandHandler();
142
+ const payload = handler.execute(subcommand);
143
+ process.stdout.write(payload.data.help + '\n');
144
+ return 0;
145
+ }
146
+ if (options.command === CliCommand.Init) {
147
+ const handler = new InitCommandHandler(repoRoot);
148
+ const payload = await handler.execute({ auto: options.auto, force: options.force });
149
+ printPayload(payload);
150
+ return 0;
151
+ }
152
+ if (options.command === CliCommand.Dashboard) {
153
+ const handler = new DashboardCommandHandler();
154
+ const defaultDashboardPort = selectedProject?.dashboard_port ?? multiConfig?.defaults?.dashboard_port;
155
+ const payload = await handler.execute({
156
+ port: options.port ?? defaultDashboardPort,
157
+ foreground: options.foreground,
158
+ dev: options.dev
159
+ });
160
+ printPayload(payload);
161
+ return 0;
162
+ }
24
163
  const transport = parser.resolveTransport(options.transport);
25
164
  const runId = `run:${crypto.randomUUID()}`;
26
- const kernel = new AopKernel(repoRoot);
165
+ // Handle --all for status: aggregate across all projects in multi-project.yaml
166
+ if (options.command === CliCommand.Status && options.all) {
167
+ if (!multiConfig) {
168
+ // No multi-project.yaml — fall through to normal single-project status below
169
+ }
170
+ else {
171
+ const projectStatuses = [];
172
+ for (const project of multiConfig.projects) {
173
+ try {
174
+ const projectPolicyPath = multiLoader.resolveProjectPolicyPath(multiConfig, project);
175
+ const projectGatesPath = multiLoader.resolveProjectGatesPath(multiConfig, project);
176
+ const projectKernel = new AopKernel(project.path, computeInstanceId(defaultConfigPath(project.path)), {
177
+ policyPath: projectPolicyPath,
178
+ gatesPath: projectGatesPath
179
+ });
180
+ await projectKernel.ensureLoaded();
181
+ const projectTooling = await createToolingRuntime(project.path, projectKernel);
182
+ const projectToolClient = resolveToolClient(transport, projectTooling);
183
+ const projectHandler = new StatusCommandHandler(projectToolClient, runId);
184
+ const projectStatus = await projectHandler.execute({ summary: options.summary });
185
+ projectStatuses.push({ name: project.name, path: project.path, status: projectStatus });
186
+ }
187
+ catch (err) {
188
+ const typed = err;
189
+ projectStatuses.push({
190
+ name: project.name,
191
+ path: project.path,
192
+ status: { ok: false, error: { code: typed.code ?? ERROR_CODES.INTERNAL_ERROR, message: typed.message } }
193
+ });
194
+ }
195
+ }
196
+ const payload = { ok: true, data: { projects: projectStatuses } };
197
+ printPayload(payload);
198
+ return 0;
199
+ }
200
+ }
201
+ const selectedPolicyPath = selectedProject && multiConfig ? multiLoader.resolveProjectPolicyPath(multiConfig, selectedProject) : undefined;
202
+ const selectedGatesPath = selectedProject && multiConfig ? multiLoader.resolveProjectGatesPath(multiConfig, selectedProject) : undefined;
203
+ const instanceId = computeInstanceId(defaultConfigPath(repoRoot));
204
+ const kernel = new AopKernel(repoRoot, instanceId, {
205
+ policyPath: selectedPolicyPath,
206
+ gatesPath: selectedGatesPath
207
+ });
27
208
  await kernel.ensureLoaded();
28
209
  const tooling = await createToolingRuntime(repoRoot, kernel);
29
210
  const toolClient = resolveToolClient(transport, tooling);
30
- if (options.command === 'status') {
211
+ let commandProvider = null;
212
+ if (options.command === CliCommand.Send || options.command === CliCommand.Attach) {
213
+ let selection;
214
+ try {
215
+ selection = resolveProviderSelection({
216
+ cli: options,
217
+ env: runtime.env,
218
+ agentsConfig: kernel.getAgentsConfig()
219
+ });
220
+ }
221
+ catch {
222
+ selection = {
223
+ provider: 'custom',
224
+ model: 'custom-default',
225
+ provider_config_env: null,
226
+ provider_config_ref: null
227
+ };
228
+ }
229
+ commandProvider = new NullWorkerProvider(selection);
230
+ kernel.setProvider(commandProvider);
231
+ }
232
+ if (options.command === CliCommand.Status) {
31
233
  const handler = new StatusCommandHandler(toolClient, runId);
32
- const payload = await handler.execute();
234
+ const payload = await handler.execute({ summary: options.summary });
33
235
  printPayload(payload);
34
236
  return 0;
35
237
  }
36
- if (options.command === 'resume') {
238
+ if (options.command === CliCommand.Resume) {
37
239
  const handler = new ResumeCommandHandler();
38
240
  const payload = await handler.execute({
39
241
  repoRoot,
@@ -47,18 +249,50 @@ export async function runCli(argv = process.argv.slice(2), runtime = { cwd: proc
47
249
  printPayload(payload);
48
250
  return 0;
49
251
  }
50
- if (options.command === 'stop') {
252
+ if (options.command === CliCommand.Stop) {
51
253
  const handler = new StopCommandHandler();
52
254
  const payload = await handler.execute();
53
255
  printPayload(payload);
54
256
  return 0;
55
257
  }
56
- if (options.command === 'delete') {
258
+ if (options.command === CliCommand.Delete) {
57
259
  const handler = new DeleteCommandHandler(toolClient, runId);
58
260
  const payload = await handler.execute(options);
59
261
  printPayload(payload);
60
262
  return 0;
61
263
  }
264
+ if (options.command === CliCommand.Cleanup) {
265
+ const policySnapshot = kernel.getPolicySnapshot();
266
+ const gracePeriodSeconds = policySnapshot.cleanup?.grace_period_seconds;
267
+ const autoAfterMerge = policySnapshot.cleanup?.auto_after_merge === true;
268
+ const handler = new CleanupCommandHandler(toolClient, runId, repoRoot, gracePeriodSeconds, autoAfterMerge);
269
+ const payload = await handler.execute(options);
270
+ printPayload(payload);
271
+ return 0;
272
+ }
273
+ if (options.command === CliCommand.Retry) {
274
+ const handler = new RetryCommandHandler(toolClient, runId);
275
+ const payload = await handler.execute(options);
276
+ printPayload(payload);
277
+ return 0;
278
+ }
279
+ if (options.command === CliCommand.Send) {
280
+ const handler = new SendCommandHandler(toolClient, runId);
281
+ const payload = await handler.execute(options);
282
+ printPayload(payload);
283
+ return 0;
284
+ }
285
+ if (options.command === CliCommand.Attach) {
286
+ if (!commandProvider) {
287
+ const error = new Error('attach provider was not initialized');
288
+ error.code = ERROR_CODES.INTERNAL_ERROR;
289
+ throw error;
290
+ }
291
+ const handler = new AttachCommandHandler(toolClient, runId, kernel, commandProvider);
292
+ const payload = await handler.execute(options);
293
+ printPayload(payload);
294
+ return 0;
295
+ }
62
296
  const handler = new RunCommandHandler();
63
297
  const payload = await handler.execute({
64
298
  repoRoot,
@@ -67,7 +301,9 @@ export async function runCli(argv = process.argv.slice(2), runtime = { cwd: proc
67
301
  transport,
68
302
  options,
69
303
  kernel,
70
- toolClient
304
+ toolClient,
305
+ maxActiveFeatures: multiConfig?.defaults?.max_active_features ?? undefined,
306
+ maxParallelGateRuns: multiConfig?.defaults?.max_parallel_gate_runs ?? undefined
71
307
  });
72
308
  printPayload(payload);
73
309
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../../apps/control-plane/src/interfaces/cli/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../../apps/control-plane/src/interfaces/cli/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,11 @@ export interface AppError extends Error {
3
3
  details?: Record<string, unknown>;
4
4
  }
5
5
  export interface ProviderSelection {
6
- provider: 'codex' | 'claude' | 'gemini' | 'custom';
6
+ provider: string;
7
7
  model: string;
8
8
  provider_config_env: string | null;
9
9
  provider_config_ref: string | null;
10
+ agent_config?: Record<string, unknown> | null;
10
11
  }
11
12
  interface ResolveSelectionInput {
12
13
  cli: Record<string, string | undefined>;
@@ -16,10 +17,13 @@ interface ResolveSelectionInput {
16
17
  default_provider?: string;
17
18
  default_model?: string;
18
19
  provider_config_env?: string;
20
+ default_agent_config?: unknown;
21
+ provider_configs?: Record<string, unknown>;
19
22
  };
20
23
  };
21
24
  }
22
- export declare const SUPPORTED_PROVIDERS: Set<"codex" | "claude" | "gemini" | "custom">;
25
+ export declare const SUPPORTED_PROVIDERS: Set<string>;
26
+ export declare const AUTH_REQUIRED_PROVIDERS: Set<string>;
23
27
  export type ProviderSelectionResolver = (input: ResolveSelectionInput) => ProviderSelection;
24
28
  export declare const resolveProviderSelection: ProviderSelectionResolver;
25
29
  export interface WorkerSession {
@@ -47,10 +51,44 @@ export interface WorkerProvider {
47
51
  provider_config_ref: string | null;
48
52
  };
49
53
  }): Promise<Record<string, unknown>>;
54
+ sendMessage?(sessionId: string, message: string): Promise<void>;
55
+ attachToSession?(sessionId: string): Promise<void>;
56
+ getSessionInfo?(sessionId: string): Promise<{
57
+ active: boolean;
58
+ provider: string;
59
+ }>;
60
+ }
61
+ export interface ProviderCommandResult {
62
+ exitCode: number;
63
+ signal: NodeJS.Signals | null;
64
+ errorCode?: number | string;
65
+ }
66
+ export interface ProviderCommandRunnerOptions {
67
+ interactive?: boolean;
68
+ stdin?: string;
69
+ env?: NodeJS.ProcessEnv;
70
+ timeoutMs?: number;
71
+ }
72
+ export interface ProviderCommandRunner {
73
+ run(command: string, args: string[], options?: ProviderCommandRunnerOptions): Promise<ProviderCommandResult>;
74
+ }
75
+ export declare class NodeProviderCommandRunner implements ProviderCommandRunner {
76
+ run(command: string, args: string[], options?: ProviderCommandRunnerOptions): Promise<ProviderCommandResult>;
77
+ }
78
+ interface NullWorkerProviderOptions {
79
+ commandRunner?: ProviderCommandRunner;
50
80
  }
51
81
  export declare class NullWorkerProvider implements WorkerProvider {
52
82
  selection: ProviderSelection;
53
- constructor(selection: ProviderSelection);
83
+ sendMessage?: (sessionId: string, message: string) => Promise<void>;
84
+ attachToSession?: (sessionId: string) => Promise<void>;
85
+ getSessionInfo?: (sessionId: string) => Promise<{
86
+ active: boolean;
87
+ provider: string;
88
+ }>;
89
+ private readonly commandRunner;
90
+ private readonly commands;
91
+ constructor(selection: ProviderSelection, options?: NullWorkerProviderOptions);
54
92
  createSession(role: string, featureId: string, systemPrompt: string | null): Promise<WorkerSession>;
55
93
  reattachSession(sessionId: string): Promise<WorkerSession | null>;
56
94
  closeSession(_sessionId: string): Promise<{
@@ -68,5 +106,6 @@ export declare class NullWorkerProvider implements WorkerProvider {
68
106
  provider_config_ref: string | null;
69
107
  };
70
108
  }): Promise<Record<string, unknown>>;
109
+ private executeCommand;
71
110
  }
72
111
  export {};