@christianmaf80/agentic-workflow 1.41.0-beta.10 → 1.42.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 (339) hide show
  1. package/README.es.md +13 -94
  2. package/README.md +14 -94
  3. package/RELEASE_PROCESS.md +3 -6
  4. package/bin/cli.js +31 -72
  5. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/acceptance.md +70 -0
  6. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/agent-scores.md +22 -0
  7. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/agent-tasks/1-dev-agent-scaffold.md +106 -0
  8. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/agent-tasks/2-dev-agent-manifest-command.md +105 -0
  9. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/agent-tasks/3-dev-agent-marketplace-evidence.md +103 -0
  10. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/agent-tasks/4-qa-agent-verify-build.md +103 -0
  11. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/analysis.md +197 -0
  12. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/architect/review.md +131 -0
  13. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/changelog.md +26 -0
  14. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/metrics.md +40 -0
  15. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/plan.md +175 -0
  16. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/researcher/research.md +157 -0
  17. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/results-acceptance.md +168 -0
  18. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/task.md +119 -0
  19. package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/verification.md +79 -0
  20. package/dist/agent/artifacts/11-refinement-capas-constitution/analysis.md +24 -0
  21. package/dist/agent/artifacts/11-refinement-capas-constitution/roadmap-audit.md +34 -0
  22. package/dist/agent/artifacts/11-refinement-capas-constitution/task.md +58 -0
  23. package/dist/agent/artifacts/12-npm-workspaces/acceptance.md +78 -0
  24. package/dist/agent/artifacts/12-npm-workspaces/analysis.md +179 -0
  25. package/dist/agent/artifacts/12-npm-workspaces/plan.md +237 -0
  26. package/dist/agent/artifacts/12-npm-workspaces/researcher/research.md +186 -0
  27. package/dist/agent/artifacts/12-npm-workspaces/task.md +126 -0
  28. package/dist/agent/artifacts/13-implement-custom-chat-with-a2ui/acceptance.md +75 -0
  29. package/dist/agent/artifacts/13-implement-custom-chat-with-a2ui/researcher/research.md +121 -0
  30. package/dist/agent/artifacts/13-implement-custom-chat-with-a2ui/task.md +104 -0
  31. package/dist/agent/artifacts/14-re-implement-setup-config-d1/acceptance.md +75 -0
  32. package/dist/agent/artifacts/14-re-implement-setup-config-d1/architect/analysis.md +90 -0
  33. package/dist/agent/artifacts/14-re-implement-setup-config-d1/planner/implementation_plan.md +44 -0
  34. package/dist/agent/artifacts/14-re-implement-setup-config-d1/researcher/research.md +113 -0
  35. package/dist/agent/artifacts/14-re-implement-setup-config-d1/task.md +107 -0
  36. package/dist/agent/artifacts/14-re-implement-setup-config-d1/verification/walkthrough.md +37 -0
  37. package/dist/agent/artifacts/14-re-implement-setup-config-d1/verifier/walkthrough.md +0 -0
  38. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/acceptance.md +68 -0
  39. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/agent-tasks/1-dev-agent-contribution-points-assets.md +107 -0
  40. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/agent-tasks/2-dev-agent-webview-provider.md +106 -0
  41. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/agent-tasks/3-dev-agent-webview-ui.md +104 -0
  42. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/agent-tasks/4-dev-agent-chat-participant.md +104 -0
  43. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/agent-tasks/5-dev-agent-migrate-to-root.md +103 -0
  44. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/agent-tasks/fix-1-dev-agent-chat-participant-types.md +108 -0
  45. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/agent-tasks/fix-2-dev-agent-view-container-id.md +106 -0
  46. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/agent-tasks/fix-3-dev-agent-container-id-lowercase.md +105 -0
  47. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/agent-tasks/fix-4-dev-agent-container-id-hyphen.md +105 -0
  48. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/agent-tasks/fix-5-dev-agent-view-type-webview.md +103 -0
  49. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/analysis.md +179 -0
  50. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/architect/review.md +118 -0
  51. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/plan.md +171 -0
  52. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/researcher/research.md +113 -0
  53. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/results-acceptance.md +171 -0
  54. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/task.md +119 -0
  55. package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/verification.md +85 -0
  56. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/acceptance.md +69 -0
  57. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/agent-scores.md +23 -0
  58. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/agent-tasks/1-dev-agent-create-project.md +89 -0
  59. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/agent-tasks/2-dev-agent-contributes-activitybar.md +88 -0
  60. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/agent-tasks/3-dev-agent-webview-panel.md +88 -0
  61. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/agent-tasks/4-dev-agent-chat-participant.md +88 -0
  62. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/agent-tasks/5-dev-agent-launch-config.md +90 -0
  63. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/agent-tasks/fix-1-dev-agent-view-container-ids.md +90 -0
  64. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/analysis.md +175 -0
  65. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/architect/review.md +118 -0
  66. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/changelog.md +26 -0
  67. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/metrics.md +43 -0
  68. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/plan.md +167 -0
  69. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/researcher/research.md +115 -0
  70. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/results-acceptance.md +122 -0
  71. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/task.md +119 -0
  72. package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/verification.md +85 -0
  73. package/dist/agent/artifacts/4-copiar-estructura-agentic-cliente/acceptance.md +67 -0
  74. package/dist/agent/artifacts/4-copiar-estructura-agentic-cliente/architect/implementation.md +31 -0
  75. package/dist/agent/artifacts/4-copiar-estructura-agentic-cliente/brief.md +103 -0
  76. package/dist/agent/artifacts/4-copiar-estructura-agentic-cliente/closure.md +101 -0
  77. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/acceptance.md +72 -0
  78. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/agent-scores.md +20 -0
  79. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/agent-tasks/1-dev-agent-reestructurar-carpetas.md +101 -0
  80. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/agent-tasks/2-dev-agent-scaffolding-yeoman.md +111 -0
  81. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/agent-tasks/3-dev-agent-merge-extension.md +110 -0
  82. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/agent-tasks/4-dev-agent-merge-config.md +107 -0
  83. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/agent-tasks/5-dev-agent-update-scripts.md +111 -0
  84. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/agent-tasks/6-qa-agent-validation-install.md +108 -0
  85. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/agent-tasks/7-dev-agent-fix-cli-entrypoint.md +104 -0
  86. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/agent-tasks/8-qa-agent-validation-install-retry.md +106 -0
  87. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/analysis.md +125 -0
  88. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/architect/review.md +84 -0
  89. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/changelog.md +34 -0
  90. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/metrics.md +44 -0
  91. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/plan.md +157 -0
  92. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/researcher/research.md +105 -0
  93. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/results-acceptance.md +105 -0
  94. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/task.md +107 -0
  95. package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/verification.md +79 -0
  96. package/dist/agent/artifacts/6-release-beta-11/agent-tasks/1-dev-agent-release-bump.md +44 -0
  97. package/dist/agent/artifacts/6-release-beta-11/architect/implementation.md +37 -0
  98. package/dist/agent/artifacts/6-release-beta-11/brief.md +89 -0
  99. package/dist/agent/artifacts/6-release-beta-11/closure.md +83 -0
  100. package/dist/agent/artifacts/6-release-beta-11/task.md +65 -0
  101. package/dist/agent/artifacts/7-extension-vscode-webview/acceptance.md +70 -0
  102. package/dist/agent/artifacts/7-extension-vscode-webview/agent-scores.md +24 -0
  103. package/dist/agent/artifacts/7-extension-vscode-webview/agent-tasks/1-vscode-specialist-scaffold-extension.md +99 -0
  104. package/dist/agent/artifacts/7-extension-vscode-webview/agent-tasks/2-vscode-specialist-update-manifest.md +101 -0
  105. package/dist/agent/artifacts/7-extension-vscode-webview/agent-tasks/3-vscode-specialist-webview-provider.md +96 -0
  106. package/dist/agent/artifacts/7-extension-vscode-webview/agent-tasks/4-vscode-specialist-activitybar-icon.md +95 -0
  107. package/dist/agent/artifacts/7-extension-vscode-webview/agent-tasks/5-qa-agent-manual-verify.md +97 -0
  108. package/dist/agent/artifacts/7-extension-vscode-webview/analysis.md +195 -0
  109. package/dist/agent/artifacts/7-extension-vscode-webview/architect/review.md +124 -0
  110. package/dist/agent/artifacts/7-extension-vscode-webview/changelog.md +9 -0
  111. package/dist/agent/artifacts/7-extension-vscode-webview/metrics.md +43 -0
  112. package/dist/agent/artifacts/7-extension-vscode-webview/plan.md +181 -0
  113. package/dist/agent/artifacts/7-extension-vscode-webview/researcher/research.md +118 -0
  114. package/dist/agent/artifacts/7-extension-vscode-webview/results-acceptance.md +146 -0
  115. package/dist/agent/artifacts/7-extension-vscode-webview/task.md +119 -0
  116. package/dist/agent/artifacts/7-extension-vscode-webview/verification.md +81 -0
  117. package/dist/agent/artifacts/8-create-agentic-runtime-cli-first-as-the-single-execution-engine/task.md +126 -0
  118. package/dist/agent/artifacts/candidate/acceptance.md +23 -0
  119. package/dist/agent/artifacts/candidate/brief.md +39 -0
  120. package/dist/agent/artifacts/candidate/init.md +24 -0
  121. package/dist/agent/artifacts/candidate/task.md +5 -0
  122. package/dist/agent/artifacts/task-20260128-reorganize-structure/acceptance.md +68 -0
  123. package/dist/agent/artifacts/task-20260128-reorganize-structure/brief.md +100 -0
  124. package/dist/agent/artifacts/task-20260128-reorganize-structure/closure.md +40 -0
  125. package/dist/agent/artifacts/task-20260128-reorganize-structure/implementation.md +48 -0
  126. package/dist/agent/artifacts/task-20260128-reorganize-structure/task.md +66 -0
  127. package/dist/agent/artifacts/task-20260130-chatkit-mainview/acceptance.md +65 -0
  128. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-scores.md +26 -0
  129. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/1-neo-agent-deps-chatkit.md +108 -0
  130. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/15-vscode-specialist-views-router.md +89 -0
  131. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/1b-vscode-specialist-review-deps.md +106 -0
  132. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/2-neo-agent-local-server.md +111 -0
  133. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/22-vscode-specialist-external-js.md +84 -0
  134. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/23-qa-agent-coverage-tests.md +85 -0
  135. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/24-vscode-specialist-class-refactor.md +84 -0
  136. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/25-vscode-specialist-external-html.md +88 -0
  137. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/26-vscode-specialist-template-js-html.md +110 -0
  138. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/27-vscode-specialist-fix-loading-setup.md +110 -0
  139. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/28-vscode-specialist-webview-debug-setup.md +107 -0
  140. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/29-vscode-specialist-webview-logging.md +109 -0
  141. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/3-neo-agent-webview-ui.md +107 -0
  142. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/30-vscode-specialist-csp-source.md +88 -0
  143. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/31-vscode-specialist-logging-prefix.md +83 -0
  144. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/32-vscode-specialist-logging-visibility.md +85 -0
  145. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/33-vscode-specialist-lit-setup.md +85 -0
  146. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/34-vscode-specialist-core-lit-base.md +89 -0
  147. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/35-vscode-specialist-lit-decorators-ts.md +88 -0
  148. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/36-vscode-specialist-lit-module-start.md +85 -0
  149. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/37-vscode-specialist-lit-ready-state.md +86 -0
  150. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/4-qa-agent-verification.md +106 -0
  151. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/5-vscode-specialist-api-key-ui.md +107 -0
  152. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/6-vscode-specialist-refactor-protocol.md +108 -0
  153. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/7-qa-agent-unit-tests.md +104 -0
  154. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-10-vscode-specialist-api-key-handshake.md +84 -0
  155. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-11-vscode-specialist-api-key-button-style.md +83 -0
  156. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-12-vscode-specialist-key-gate-view.md +84 -0
  157. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-13-vscode-specialist-status-timeout.md +83 -0
  158. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-14-vscode-specialist-init-flow.md +84 -0
  159. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-16-vscode-specialist-view-context.md +87 -0
  160. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-17-vscode-specialist-clear-key-command.md +85 -0
  161. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-18-vscode-specialist-context-sync.md +84 -0
  162. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-19-vscode-specialist-setup-visible.md +88 -0
  163. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-20-vscode-specialist-loading-state.md +83 -0
  164. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-21-vscode-specialist-loading-label.md +84 -0
  165. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-8-vscode-specialist-api-key-detect.md +89 -0
  166. package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-9-vscode-specialist-api-key-state.md +84 -0
  167. package/dist/agent/artifacts/task-20260130-chatkit-mainview/analysis.md +156 -0
  168. package/dist/agent/artifacts/task-20260130-chatkit-mainview/architect/review.md +141 -0
  169. package/dist/agent/artifacts/task-20260130-chatkit-mainview/changelog.md +30 -0
  170. package/dist/agent/artifacts/task-20260130-chatkit-mainview/metrics.md +43 -0
  171. package/dist/agent/artifacts/task-20260130-chatkit-mainview/plan.md +151 -0
  172. package/dist/agent/artifacts/task-20260130-chatkit-mainview/research.md +115 -0
  173. package/dist/agent/artifacts/task-20260130-chatkit-mainview/results-acceptance.md +171 -0
  174. package/dist/agent/artifacts/task-20260130-chatkit-mainview/verification.md +87 -0
  175. package/dist/agent/artifacts/task-20260130-fix-mainview-provider/acceptance.md +64 -0
  176. package/dist/agent/artifacts/task-20260130-fix-mainview-provider/architect/implementation.md +30 -0
  177. package/dist/agent/artifacts/task-20260130-fix-mainview-provider/brief.md +102 -0
  178. package/dist/agent/artifacts/task-20260130-fix-mainview-provider/closure.md +95 -0
  179. package/dist/agent/artifacts/task-20260130-rol-vscode/acceptance.md +68 -0
  180. package/dist/agent/artifacts/task-20260130-rol-vscode/architect/implementation.md +33 -0
  181. package/dist/agent/artifacts/task-20260130-rol-vscode/brief.md +104 -0
  182. package/dist/agent/artifacts/task-20260130-rol-vscode/closure.md +100 -0
  183. package/dist/agent/artifacts/task-beta-release/acceptance.md +23 -0
  184. package/dist/agent/artifacts/task-beta-release/brief.md +39 -0
  185. package/dist/agent/artifacts/task-beta-release/closure.md +29 -0
  186. package/dist/agent/artifacts/task-beta-release/init.md +26 -0
  187. package/dist/agent/artifacts/task-beta-release/task.md +64 -0
  188. package/dist/agent/index.md +69 -30
  189. package/dist/agent/rules/constitution/agents-behavior.md +110 -158
  190. package/dist/agent/rules/constitution/backend.md +27 -0
  191. package/dist/agent/rules/constitution/background.md +30 -0
  192. package/dist/agent/rules/constitution/clean-code.md +5 -6
  193. package/dist/agent/rules/constitution/modular-architecture.md +66 -0
  194. package/dist/agent/rules/constitution/view.md +41 -0
  195. package/dist/agent/rules/constitution/vscode-extensions.md +32 -0
  196. package/dist/agent/rules/roles/architect.md +1 -2
  197. package/dist/agent/rules/roles/backend.md +21 -0
  198. package/dist/agent/rules/roles/background.md +20 -0
  199. package/dist/agent/rules/roles/devops.md +20 -0
  200. package/dist/agent/rules/roles/engine.md +26 -0
  201. package/dist/agent/rules/roles/neo.md +12 -13
  202. package/dist/agent/rules/roles/researcher.md +2 -2
  203. package/dist/agent/rules/roles/view.md +22 -0
  204. package/dist/agent/rules/roles/vscode-specialist.md +24 -0
  205. package/dist/agent/templates/acceptance.md +19 -25
  206. package/dist/agent/templates/agent-task.md +39 -39
  207. package/dist/agent/templates/analysis.md +92 -92
  208. package/dist/agent/templates/brief.md +96 -0
  209. package/dist/agent/templates/changelog.md +8 -8
  210. package/dist/agent/templates/closure.md +95 -0
  211. package/dist/agent/templates/coding/coding-integration-report.md +102 -0
  212. package/dist/agent/templates/coding/coding-layer-report.md +78 -0
  213. package/dist/agent/templates/init.md +2 -23
  214. package/dist/agent/templates/planning.md +73 -73
  215. package/dist/agent/templates/research.md +43 -43
  216. package/dist/agent/templates/results-acceptance.md +94 -94
  217. package/dist/agent/templates/review.md +59 -59
  218. package/dist/agent/templates/subtask-implementation.md +29 -29
  219. package/dist/agent/templates/supplemental-report.md +0 -6
  220. package/dist/agent/templates/task-metrics.md +14 -14
  221. package/dist/agent/templates/task.md +18 -33
  222. package/dist/agent/templates/todo-item.md +23 -23
  223. package/dist/agent/workflows/coding/coding-backend.md +147 -0
  224. package/dist/agent/workflows/coding/coding-background.md +149 -0
  225. package/dist/agent/workflows/coding/coding-integration.md +174 -0
  226. package/dist/agent/workflows/coding/coding-view.md +151 -0
  227. package/dist/agent/workflows/init.md +93 -133
  228. package/dist/agent/workflows/scaffold-module.md +38 -0
  229. package/dist/agent/workflows/tasklifecycle-long/phase-0-acceptance-criteria.md +124 -134
  230. package/dist/agent/workflows/tasklifecycle-long/phase-1-research.md +103 -97
  231. package/dist/agent/workflows/tasklifecycle-long/phase-2-analysis.md +107 -102
  232. package/dist/agent/workflows/tasklifecycle-long/phase-3-planning.md +125 -120
  233. package/dist/agent/workflows/tasklifecycle-long/phase-4-implementation.md +121 -125
  234. package/dist/agent/workflows/tasklifecycle-long/phase-5-verification.md +105 -101
  235. package/dist/agent/workflows/tasklifecycle-long/phase-6-results-acceptance.md +82 -78
  236. package/dist/agent/workflows/tasklifecycle-long/phase-7-evaluation.md +84 -75
  237. package/dist/agent/workflows/tasklifecycle-long/phase-8-commit-push.md +94 -89
  238. package/dist/agent/workflows/tasklifecycle-short/short-phase-1-brief.md +117 -0
  239. package/dist/agent/workflows/tasklifecycle-short/short-phase-2-implementation.md +114 -0
  240. package/dist/agent/workflows/tasklifecycle-short/short-phase-3-closure.md +111 -0
  241. package/dist/cli/commands/create.js +4 -29
  242. package/dist/cli/commands/create.js.map +1 -1
  243. package/dist/cli/commands/fork.js +45 -0
  244. package/dist/cli/commands/fork.js.map +1 -0
  245. package/dist/cli/commands/init.js +4 -78
  246. package/dist/cli/commands/init.js.map +1 -1
  247. package/dist/cli/commands/mcp.js +3 -17
  248. package/dist/cli/commands/mcp.js.map +1 -1
  249. package/dist/cli/commands/scaffold.js +57 -0
  250. package/dist/cli/commands/scaffold.js.map +1 -0
  251. package/dist/cli/index.js +0 -1
  252. package/dist/cli/index.js.map +1 -1
  253. package/dist/infrastructure/context/manager.js +0 -2
  254. package/dist/infrastructure/context/manager.js.map +1 -1
  255. package/dist/infrastructure/index.js +0 -5
  256. package/dist/infrastructure/index.js.map +1 -1
  257. package/dist/runtime/engine/emitter.js +28 -0
  258. package/dist/runtime/engine/emitter.js.map +1 -0
  259. package/dist/runtime/engine/engine.js +128 -0
  260. package/dist/runtime/engine/engine.js.map +1 -0
  261. package/dist/runtime/engine/index.js +7 -0
  262. package/dist/runtime/engine/index.js.map +1 -0
  263. package/dist/runtime/engine/service.js +78 -0
  264. package/dist/runtime/engine/service.js.map +1 -0
  265. package/dist/runtime/engine/state-store.js +24 -0
  266. package/dist/runtime/engine/state-store.js.map +1 -0
  267. package/dist/runtime/{task-loader.js → engine/task-loader.js} +24 -5
  268. package/dist/runtime/engine/task-loader.js.map +1 -0
  269. package/dist/runtime/engine/workflow-loader.js +82 -0
  270. package/dist/runtime/engine/workflow-loader.js.map +1 -0
  271. package/dist/runtime/index.js +2 -4
  272. package/dist/runtime/index.js.map +1 -1
  273. package/dist/runtime/mcp/index.js +2 -0
  274. package/dist/runtime/mcp/index.js.map +1 -0
  275. package/dist/runtime/mcp/server.js +249 -0
  276. package/dist/runtime/mcp/server.js.map +1 -0
  277. package/media/agent-chat.svg +20 -0
  278. package/media/codicons/codicon.css +698 -0
  279. package/media/codicons/codicon.ttf +0 -0
  280. package/media/providers/claude.png +0 -0
  281. package/media/providers/gemini.png +0 -0
  282. package/media/providers/openai.png +0 -0
  283. package/package.json +124 -56
  284. package/dist/agent/artifacts/candidate/index.md +0 -26
  285. package/dist/agent/artifacts/index.md +0 -25
  286. package/dist/agent/rules/constitution/index.md +0 -26
  287. package/dist/agent/rules/constitution/runtime-integration.md +0 -102
  288. package/dist/agent/rules/index.md +0 -70
  289. package/dist/agent/rules/roles/index.md +0 -44
  290. package/dist/agent/skills/index.md +0 -23
  291. package/dist/agent/skills/runtime-governance/SKILL.md +0 -62
  292. package/dist/agent/templates/analisis.md +0 -86
  293. package/dist/agent/templates/index.md +0 -43
  294. package/dist/agent/templates/plan.md +0 -49
  295. package/dist/agent/templates/qa-results.md +0 -70
  296. package/dist/agent/workflows/index.md +0 -30
  297. package/dist/agent/workflows/tasklifecycle-long/index.md +0 -172
  298. package/dist/agent/workflows/tasklifecycle-short/index.md +0 -77
  299. package/dist/agent/workflows/tasklifecycle-short/short-phase-1-analisis.md +0 -116
  300. package/dist/agent/workflows/tasklifecycle-short/short-phase-2-plan.md +0 -81
  301. package/dist/agent/workflows/tasklifecycle-short/short-phase-3-implementation.md +0 -115
  302. package/dist/agent/workflows/tasklifecycle-short/short-phase-4-qa-results.md +0 -84
  303. package/dist/cli/commands/bootstrap.js +0 -111
  304. package/dist/cli/commands/bootstrap.js.map +0 -1
  305. package/dist/cli/commands/register-mcp.js +0 -135
  306. package/dist/cli/commands/register-mcp.js.map +0 -1
  307. package/dist/infrastructure/context/index.js +0 -2
  308. package/dist/infrastructure/context/index.js.map +0 -1
  309. package/dist/infrastructure/logger/index.js +0 -41
  310. package/dist/infrastructure/logger/index.js.map +0 -1
  311. package/dist/infrastructure/mapping/index.js +0 -2
  312. package/dist/infrastructure/mapping/index.js.map +0 -1
  313. package/dist/infrastructure/migration/index.js +0 -4
  314. package/dist/infrastructure/migration/index.js.map +0 -1
  315. package/dist/infrastructure/utils/index.js +0 -2
  316. package/dist/infrastructure/utils/index.js.map +0 -1
  317. package/dist/mcp/emitter.js +0 -24
  318. package/dist/mcp/emitter.js.map +0 -1
  319. package/dist/mcp/handlers.js +0 -74
  320. package/dist/mcp/handlers.js.map +0 -1
  321. package/dist/mcp/index.js +0 -3
  322. package/dist/mcp/index.js.map +0 -1
  323. package/dist/mcp/resources.js +0 -69
  324. package/dist/mcp/resources.js.map +0 -1
  325. package/dist/mcp/server.js +0 -94
  326. package/dist/mcp/server.js.map +0 -1
  327. package/dist/mcp/tools.js +0 -189
  328. package/dist/mcp/tools.js.map +0 -1
  329. package/dist/runtime/frontmatter-sync.js +0 -100
  330. package/dist/runtime/frontmatter-sync.js.map +0 -1
  331. package/dist/runtime/reconcile.js +0 -37
  332. package/dist/runtime/reconcile.js.map +0 -1
  333. package/dist/runtime/runtime.js +0 -427
  334. package/dist/runtime/runtime.js.map +0 -1
  335. package/dist/runtime/task-loader.js.map +0 -1
  336. package/dist/runtime/task-resolver.js +0 -401
  337. package/dist/runtime/task-resolver.js.map +0 -1
  338. package/dist/runtime/write-guard.js +0 -200
  339. package/dist/runtime/write-guard.js.map +0 -1
@@ -1,74 +0,0 @@
1
- import { Logger } from '../infrastructure/logger/index.js';
2
- import { resolveWorkspaceRoot } from '../runtime/task-resolver.js';
3
- import { RuntimeWriteGuard } from '../runtime/write-guard.js';
4
- import { RuntimeEmitter } from './emitter.js';
5
- const TOOL_HANDLERS = {
6
- 'runtime_run': (runtime, args) => runtime.run(args),
7
- 'runtime_update_init': (runtime, args) => runtime.updateInit(args),
8
- 'runtime_resume': (runtime, args) => runtime.resume(args),
9
- 'runtime_next_step': (runtime, args) => runtime.nextStep(args),
10
- 'runtime_complete_step': (runtime) => runtime.completeStep(),
11
- 'runtime_validate_gate': (runtime, args) => runtime.validateGate(args),
12
- 'runtime_advance_phase': (runtime, args) => runtime.advancePhase(args),
13
- 'runtime_get_state': (runtime, args) => runtime.getState(args),
14
- 'runtime_list_workflows': (runtime, args) => runtime.listWorkflows(args),
15
- 'runtime_emit_event': (runtime, args) => runtime.emitEvent(args),
16
- 'runtime_reconcile': (runtime, args) => runtime.reconcile(args),
17
- 'runtime_chat': (runtime, args) => runtime.chat(args),
18
- 'debug_read_logs': (runtime, args) => runtime.readLogs(args)
19
- };
20
- export async function handleToolCall(runtime, name, args) {
21
- const workspaceEnv = process.env.AGENTIC_WORKSPACE;
22
- let workspaceRoot = null;
23
- let workspaceError = null;
24
- try {
25
- workspaceRoot = resolveWorkspaceRoot(workspaceEnv);
26
- }
27
- catch (error) {
28
- workspaceError = error instanceof Error ? error.message : String(error);
29
- }
30
- Logger.info('MCP', 'Tool call received', {
31
- tool: name,
32
- cwd: process.cwd(),
33
- workspaceEnv,
34
- workspaceRoot,
35
- workspaceError
36
- });
37
- console.error('[MCP] Tool call received', JSON.stringify({
38
- tool: name,
39
- cwd: process.cwd(),
40
- workspaceEnv,
41
- workspaceRoot,
42
- workspaceError
43
- }));
44
- const handler = TOOL_HANDLERS[name];
45
- if (!handler) {
46
- throw new Error(`Tool no soportada: ${name}`);
47
- }
48
- const result = await handler(runtime, args);
49
- await emitEventIfPresent(result, args, workspaceRoot);
50
- return {
51
- content: [
52
- {
53
- type: 'text',
54
- text: JSON.stringify(result)
55
- }
56
- ]
57
- };
58
- }
59
- async function emitEventIfPresent(result, args, workspaceRoot) {
60
- const event = result.emitEvent;
61
- if (!event) {
62
- return;
63
- }
64
- const eventsPath = typeof args.eventsPath === 'string' ? args.eventsPath : undefined;
65
- if (!eventsPath) {
66
- return;
67
- }
68
- const actor = typeof args.agent === 'string' ? args.agent : 'runtime';
69
- const breakGlass = Boolean(args.breakGlass);
70
- const writeGuard = workspaceRoot ? new RuntimeWriteGuard({ workspaceRoot, actor, breakGlass }) : undefined;
71
- const emitter = new RuntimeEmitter(eventsPath, writeGuard);
72
- await emitter.emit(event);
73
- }
74
- //# sourceMappingURL=handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
package/dist/mcp/index.js DELETED
@@ -1,3 +0,0 @@
1
- export const __mcpIndexLoaded = true;
2
- export * from './server.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,cAAc,aAAa,CAAC"}
@@ -1,69 +0,0 @@
1
- import fs from 'node:fs/promises';
2
- import path from 'node:path';
3
- import matter from 'gray-matter';
4
- import { resolveWorkspaceRoot } from '../runtime/task-resolver.js';
5
- export async function listAliasResources() {
6
- const { aliases } = await loadRootAliases();
7
- const resources = [
8
- {
9
- uri: 'agentic://aliases/root',
10
- name: 'aliases.root',
11
- description: 'Aliases from .agent/index.md',
12
- mimeType: 'application/json'
13
- }
14
- ];
15
- const domains = aliases.agent?.domains ?? {};
16
- for (const [domain, info] of Object.entries(domains)) {
17
- resources.push({
18
- uri: `agentic://aliases/${domain}`,
19
- name: `aliases.${domain}`,
20
- description: info.index ? `Aliases from ${info.index}` : `Aliases for domain ${domain}`,
21
- mimeType: 'application/json'
22
- });
23
- }
24
- return resources;
25
- }
26
- export async function readAliasResource(uri) {
27
- const { aliases } = await loadRootAliases();
28
- if (uri === 'agentic://aliases/root') {
29
- return { uri, mimeType: 'application/json', text: JSON.stringify(aliases, null, 2) };
30
- }
31
- if (uri.startsWith('agentic://aliases/')) {
32
- const domain = uri.replace('agentic://aliases/', '');
33
- const indexPath = aliases.agent?.domains?.[domain]?.index;
34
- if (!indexPath) {
35
- throw new Error(`Dominio no encontrado: ${domain}`);
36
- }
37
- const domainAliases = await loadAliasesFromIndex(resolveWorkspacePath(indexPath));
38
- return { uri, mimeType: 'application/json', text: JSON.stringify(domainAliases, null, 2) };
39
- }
40
- throw new Error(`Resource desconocido: ${uri}`);
41
- }
42
- export async function listDomainAliases(domain) {
43
- const { aliases } = await loadRootAliases();
44
- const indexPath = aliases.agent?.domains?.[domain]?.index;
45
- if (!indexPath) {
46
- throw new Error(`Dominio no encontrado: ${domain}`);
47
- }
48
- return loadAliasesFromIndex(resolveWorkspacePath(indexPath));
49
- }
50
- async function loadRootAliases() {
51
- const rootIndexPath = resolveWorkspacePath('.agent/index.md');
52
- const aliases = await loadAliasesFromIndex(rootIndexPath);
53
- return { aliases: aliases };
54
- }
55
- async function loadAliasesFromIndex(indexPath) {
56
- const raw = await fs.readFile(indexPath, 'utf-8');
57
- const match = raw.match(/```yaml\n([\s\S]*?)```/);
58
- if (!match) {
59
- return {};
60
- }
61
- const yaml = match[1];
62
- const data = matter(`---\n${yaml}\n---`).data;
63
- return data;
64
- }
65
- function resolveWorkspacePath(relativePath) {
66
- const root = resolveWorkspaceRoot(process.env.AGENTIC_WORKSPACE);
67
- return path.resolve(root, relativePath);
68
- }
69
- //# sourceMappingURL=resources.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/mcp/resources.ts"],"names":[],"mappings":"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"}
@@ -1,94 +0,0 @@
1
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
- import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema } from '@modelcontextprotocol/sdk/types.js';
4
- import fs from 'node:fs';
5
- import path from 'node:path';
6
- import { fileURLToPath } from 'node:url';
7
- import { Logger } from '../infrastructure/logger/index.js';
8
- import { Runtime } from '../runtime/runtime.js';
9
- import { handleToolCall } from './handlers.js';
10
- import { MCP_TOOLS } from './tools.js';
11
- import { listAliasResources, listDomainAliases, readAliasResource } from './resources.js';
12
- import { z } from 'zod';
13
- export async function startMcpServer() {
14
- const version = resolvePackageVersion();
15
- Logger.info('MCP', 'Server iniciado via stdio.', { version });
16
- Logger.info('MCP', 'Esperando mensajes JSON-RPC...');
17
- console.error(`[MCP] Server iniciado via stdio. Version ${version}`);
18
- console.error('[MCP] Esperando mensajes JSON-RPC...');
19
- const server = await createMcpServer();
20
- const transport = new StdioServerTransport();
21
- await server.connect(transport);
22
- }
23
- async function createMcpServer() {
24
- const server = new Server({
25
- name: 'agentic-workflow',
26
- version: resolvePackageVersion()
27
- }, {
28
- capabilities: {
29
- tools: {},
30
- resources: {}
31
- }
32
- });
33
- const runtime = new Runtime();
34
- server.setRequestHandler(ListToolsRequestSchema, async () => ({
35
- tools: MCP_TOOLS
36
- }));
37
- server.setRequestHandler(ListResourcesRequestSchema, async () => {
38
- const resources = await listAliasResources();
39
- return { resources };
40
- });
41
- server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
42
- const uri = request.params.uri;
43
- const content = await readAliasResource(uri);
44
- return { contents: [content] };
45
- });
46
- await registerDomainResourceHandlers(server);
47
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
48
- const name = request.params.name;
49
- const args = request.params.arguments ?? {};
50
- return handleToolCall(runtime, name, args);
51
- });
52
- return server;
53
- }
54
- async function registerDomainResourceHandlers(server) {
55
- try {
56
- const resources = await listAliasResources();
57
- for (const resource of resources) {
58
- if (!resource.uri.startsWith('agentic://aliases/')) {
59
- continue;
60
- }
61
- const domain = resource.uri.replace('agentic://aliases/', '');
62
- if (!domain || domain === 'root') {
63
- continue;
64
- }
65
- const schema = z.object({
66
- jsonrpc: z.literal('2.0').optional(),
67
- id: z.any().optional(),
68
- method: z.literal(`resources/${domain}/list`),
69
- params: z.any().optional()
70
- });
71
- server.setRequestHandler(schema, async () => {
72
- const aliases = await listDomainAliases(domain);
73
- return { aliases };
74
- });
75
- }
76
- }
77
- catch (error) {
78
- Logger.warn('MCP', 'No se pudo registrar resources/<domain>/list', { error });
79
- }
80
- }
81
- function resolvePackageVersion() {
82
- try {
83
- const __filename = fileURLToPath(import.meta.url);
84
- const __dirname = path.dirname(__filename);
85
- const pkgPath = path.join(__dirname, '..', '..', 'package.json');
86
- const raw = fs.readFileSync(pkgPath, 'utf-8');
87
- const parsed = JSON.parse(raw);
88
- return parsed.version ?? 'unknown';
89
- }
90
- catch {
91
- return 'unknown';
92
- }
93
- }
94
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/dist/mcp/tools.js DELETED
@@ -1,189 +0,0 @@
1
- export const MCP_TOOLS = [
2
- {
3
- name: 'runtime_run',
4
- description: 'Start a new workflow runtime execution',
5
- inputSchema: {
6
- type: 'object',
7
- properties: {
8
- taskPath: { type: 'string', description: 'Path to task.md file' },
9
- agent: { type: 'string', description: 'Agent identifier' },
10
- statePath: { type: 'string', description: 'Optional state file path' },
11
- eventsPath: { type: 'string', description: 'Optional events file path' }
12
- },
13
- required: ['taskPath', 'agent']
14
- }
15
- },
16
- {
17
- name: 'runtime_update_init',
18
- description: 'Fill init candidate template with runtime-provided values',
19
- inputSchema: {
20
- type: 'object',
21
- properties: {
22
- taskPath: { type: 'string', description: 'Path to init candidate file' },
23
- agent: { type: 'string', description: 'Agent identifier' },
24
- command: { type: 'string', description: 'Init command invoked' },
25
- constitutionPaths: { type: 'array', items: { type: 'string' } },
26
- language: { type: 'string' },
27
- languageConfirmed: { type: 'boolean' },
28
- strategy: { type: 'string', description: 'long | short' },
29
- traceabilityVerified: { type: 'boolean' },
30
- traceabilityTool: { type: 'string' },
31
- traceabilityResponse: { type: 'string' },
32
- traceabilityTimestamp: { type: 'string' },
33
- runtimeStarted: { type: 'boolean' },
34
- taskId: { type: 'string' },
35
- taskPathValue: { type: 'string' }
36
- },
37
- required: [
38
- 'taskPath',
39
- 'agent',
40
- 'command',
41
- 'constitutionPaths',
42
- 'language',
43
- 'languageConfirmed',
44
- 'strategy',
45
- 'traceabilityVerified',
46
- 'traceabilityTool',
47
- 'traceabilityResponse',
48
- 'traceabilityTimestamp',
49
- 'runtimeStarted',
50
- 'taskId',
51
- 'taskPathValue'
52
- ]
53
- }
54
- },
55
- {
56
- name: 'runtime_resume',
57
- description: 'Resume workflow runtime execution',
58
- inputSchema: {
59
- type: 'object',
60
- properties: {
61
- taskPath: { type: 'string', description: 'Path to task.md file' },
62
- agent: { type: 'string', description: 'Agent identifier' },
63
- statePath: { type: 'string', description: 'Optional state file path' },
64
- eventsPath: { type: 'string', description: 'Optional events file path' }
65
- },
66
- required: ['taskPath', 'agent']
67
- }
68
- },
69
- {
70
- name: 'runtime_next_step',
71
- description: 'Advance runtime one step',
72
- inputSchema: {
73
- type: 'object',
74
- properties: {
75
- taskPath: { type: 'string', description: 'Path to task.md file' },
76
- agent: { type: 'string', description: 'Agent identifier' },
77
- statePath: { type: 'string', description: 'Optional state file path' },
78
- eventsPath: { type: 'string', description: 'Optional events file path' }
79
- },
80
- required: ['taskPath', 'agent']
81
- }
82
- },
83
- {
84
- name: 'runtime_complete_step',
85
- description: 'Acknowledge step completion',
86
- inputSchema: {
87
- type: 'object',
88
- properties: {}
89
- }
90
- },
91
- {
92
- name: 'runtime_validate_gate',
93
- description: 'Validate a workflow gate',
94
- inputSchema: {
95
- type: 'object',
96
- properties: {
97
- taskPath: { type: 'string' },
98
- agent: { type: 'string' },
99
- expectedPhase: { type: 'string' }
100
- },
101
- required: ['taskPath', 'agent']
102
- }
103
- },
104
- {
105
- name: 'runtime_advance_phase',
106
- description: 'Advance to the next workflow phase',
107
- inputSchema: {
108
- type: 'object',
109
- properties: {
110
- taskPath: { type: 'string' },
111
- agent: { type: 'string' },
112
- expectedPhase: { type: 'string' },
113
- eventsPath: { type: 'string' }
114
- },
115
- required: ['taskPath', 'agent']
116
- }
117
- },
118
- {
119
- name: 'runtime_get_state',
120
- description: 'Read runtime state from statePath',
121
- inputSchema: {
122
- type: 'object',
123
- properties: {
124
- statePath: { type: 'string', description: 'Path to runtime state file' }
125
- },
126
- required: ['statePath']
127
- }
128
- },
129
- {
130
- name: 'runtime_list_workflows',
131
- description: 'List available workflows',
132
- inputSchema: {
133
- type: 'object',
134
- properties: {
135
- workflowsRoot: { type: 'string', description: 'Path to workflows directory' }
136
- }
137
- }
138
- },
139
- {
140
- name: 'runtime_emit_event',
141
- description: 'Emit a runtime event',
142
- inputSchema: {
143
- type: 'object',
144
- properties: {
145
- eventsPath: { type: 'string' },
146
- event: { type: 'object', description: 'Runtime event payload' }
147
- },
148
- required: ['event']
149
- }
150
- },
151
- {
152
- name: 'runtime_reconcile',
153
- description: 'Reconcile out-of-band changes; block if manual resolution is required',
154
- inputSchema: {
155
- type: 'object',
156
- properties: {
157
- taskPath: { type: 'string' },
158
- agent: { type: 'string' },
159
- statePath: { type: 'string' },
160
- breakGlass: { type: 'boolean' }
161
- },
162
- required: ['taskPath', 'agent']
163
- }
164
- },
165
- {
166
- name: 'runtime_chat',
167
- description: 'Send a chat message to the runtime',
168
- inputSchema: {
169
- type: 'object',
170
- properties: {
171
- message: { type: 'string', description: 'Chat message content' },
172
- role: { type: 'string', description: 'Message role (user/assistant)' },
173
- eventsPath: { type: 'string', description: 'Optional events file path' }
174
- },
175
- required: ['message']
176
- }
177
- },
178
- {
179
- name: 'debug_read_logs',
180
- description: 'Read runtime debug logs',
181
- inputSchema: {
182
- type: 'object',
183
- properties: {
184
- limit: { type: 'number', description: 'Max logs to return' }
185
- }
186
- }
187
- }
188
- ];
189
- //# sourceMappingURL=tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -1,100 +0,0 @@
1
- import fs from 'node:fs/promises';
2
- import path from 'node:path';
3
- import matter from 'gray-matter';
4
- import { Logger } from '../infrastructure/logger/index.js';
5
- const PHASE_BY_ARTIFACT = {
6
- 'brief.md': 'short-phase-1-brief',
7
- 'acceptance.md': 'short-phase-1-brief',
8
- 'implementation.md': 'short-phase-2-implementation',
9
- 'closure.md': 'short-phase-3-closure'
10
- };
11
- const FLOW_ARTIFACTS = ['task.md', 'brief.md', 'acceptance.md', 'implementation.md', 'closure.md'];
12
- export async function syncFrontmatterForTaskArtifacts(params) {
13
- const artifactsRoot = path.join(params.workspaceRoot, '.agent', 'artifacts');
14
- const artifactDir = await resolveArtifactDir(artifactsRoot, params.taskId);
15
- if (!artifactDir) {
16
- Logger.warn('Runtime', 'No artifacts directory found for task; skipping frontmatter sync', {
17
- taskId: params.taskId
18
- });
19
- return;
20
- }
21
- const relatedTask = `${params.taskId}-${params.taskTitle}`;
22
- for (const fileName of FLOW_ARTIFACTS) {
23
- const filePath = path.join(artifactDir, fileName);
24
- if (!(await exists(filePath))) {
25
- continue;
26
- }
27
- const expectedPhase = fileName === 'task.md' ? params.currentPhase : PHASE_BY_ARTIFACT[fileName];
28
- const update = await syncFrontmatter(filePath, {
29
- owner: params.owner,
30
- related_task: relatedTask,
31
- phase: expectedPhase
32
- }, params.writeGuard);
33
- if (update) {
34
- Logger.error('Runtime', 'Frontmatter overwritten by runtime', {
35
- filePath,
36
- changes: update.changes
37
- });
38
- }
39
- }
40
- }
41
- async function syncFrontmatter(filePath, desired, writeGuard) {
42
- const raw = await fs.readFile(filePath, 'utf-8');
43
- const parsed = matter(raw);
44
- if (!parsed.data || Object.keys(parsed.data).length === 0) {
45
- return null;
46
- }
47
- const changes = {};
48
- const nextData = { ...parsed.data };
49
- if ('owner' in nextData && nextData.owner !== desired.owner) {
50
- changes.owner = { from: nextData.owner, to: desired.owner };
51
- nextData.owner = desired.owner;
52
- }
53
- if ('related_task' in nextData && nextData.related_task !== desired.related_task) {
54
- changes.related_task = { from: nextData.related_task, to: desired.related_task };
55
- nextData.related_task = desired.related_task;
56
- }
57
- if (desired.phase && 'phase' in nextData && nextData.phase !== desired.phase) {
58
- changes.phase = { from: nextData.phase, to: desired.phase };
59
- nextData.phase = desired.phase;
60
- }
61
- if (Object.keys(changes).length === 0) {
62
- return null;
63
- }
64
- const nextContent = matter.stringify(parsed.content, nextData);
65
- if (writeGuard) {
66
- await writeGuard.writeFile(filePath, nextContent);
67
- }
68
- else {
69
- await fs.writeFile(filePath, nextContent, 'utf-8');
70
- }
71
- return { filePath, changes };
72
- }
73
- async function resolveArtifactDir(artifactsRoot, taskId) {
74
- try {
75
- const entries = await fs.readdir(artifactsRoot, { withFileTypes: true });
76
- const dirs = entries.filter((entry) => entry.isDirectory()).map((entry) => entry.name);
77
- const exact = dirs.find((dir) => dir === taskId);
78
- if (exact) {
79
- return path.join(artifactsRoot, exact);
80
- }
81
- const prefix = dirs.find((dir) => dir.startsWith(`${taskId}-`));
82
- if (prefix) {
83
- return path.join(artifactsRoot, prefix);
84
- }
85
- return null;
86
- }
87
- catch {
88
- return null;
89
- }
90
- }
91
- async function exists(filePath) {
92
- try {
93
- await fs.access(filePath);
94
- return true;
95
- }
96
- catch {
97
- return false;
98
- }
99
- }
100
- //# sourceMappingURL=frontmatter-sync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frontmatter-sync.js","sourceRoot":"","sources":["../../src/runtime/frontmatter-sync.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import fs from 'node:fs/promises';
2
- import path from 'node:path';
3
- import crypto from 'node:crypto';
4
- const DEFAULT_ARTIFACTS = [
5
- 'task.md',
6
- 'plan.md',
7
- 'analysis.md',
8
- 'acceptance.md',
9
- path.join('researcher', 'research.md')
10
- ];
11
- export async function collectArtifactHashes(baseDir, artifacts = DEFAULT_ARTIFACTS) {
12
- const hashes = {};
13
- for (const rel of artifacts) {
14
- const filePath = path.join(baseDir, rel);
15
- try {
16
- const raw = await fs.readFile(filePath, 'utf-8');
17
- hashes[rel] = crypto.createHash('sha256').update(raw).digest('hex');
18
- }
19
- catch {
20
- // Ignore missing files.
21
- }
22
- }
23
- return hashes;
24
- }
25
- export function diffHashes(previous, current) {
26
- const files = new Set([...Object.keys(previous), ...Object.keys(current)]);
27
- const changes = [];
28
- for (const file of files) {
29
- const before = previous[file];
30
- const after = current[file];
31
- if (before !== after) {
32
- changes.push({ file, before, after });
33
- }
34
- }
35
- return changes;
36
- }
37
- //# sourceMappingURL=reconcile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/runtime/reconcile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,iBAAiB,GAAG;IACxB,SAAS;IACT,SAAS;IACT,aAAa;IACb,eAAe;IACf,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC;CACvC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAe,EAAE,SAAS,GAAG,iBAAiB;IACxF,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgC,EAAE,OAA+B;IAC1F,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAA6D,EAAE,CAAC;IAC7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}