@backendkit-labs/agent-core 0.14.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 (533) hide show
  1. package/dist/agent-discovery/AgentPackageLoader.d.ts +14 -0
  2. package/dist/agent-discovery/AgentPackageLoader.d.ts.map +1 -0
  3. package/dist/agent-discovery/AgentPackageLoader.js +78 -0
  4. package/dist/agent-discovery/AgentPackageLoader.js.map +1 -0
  5. package/dist/agent-discovery/RemoteAgentRegistry.d.ts +31 -0
  6. package/dist/agent-discovery/RemoteAgentRegistry.d.ts.map +1 -0
  7. package/dist/agent-discovery/RemoteAgentRegistry.js +103 -0
  8. package/dist/agent-discovery/RemoteAgentRegistry.js.map +1 -0
  9. package/dist/agent-discovery/discoverAgents.d.ts +18 -0
  10. package/dist/agent-discovery/discoverAgents.d.ts.map +1 -0
  11. package/dist/agent-discovery/discoverAgents.js +59 -0
  12. package/dist/agent-discovery/discoverAgents.js.map +1 -0
  13. package/dist/agent-discovery/index.d.ts +5 -0
  14. package/dist/agent-discovery/index.d.ts.map +1 -0
  15. package/dist/agent-discovery/index.js +12 -0
  16. package/dist/agent-discovery/index.js.map +1 -0
  17. package/dist/agent-discovery/types.d.ts +42 -0
  18. package/dist/agent-discovery/types.d.ts.map +1 -0
  19. package/dist/agent-discovery/types.js +3 -0
  20. package/dist/agent-discovery/types.js.map +1 -0
  21. package/dist/agent-memory/EpisodicMemory.d.ts +26 -0
  22. package/dist/agent-memory/EpisodicMemory.d.ts.map +1 -0
  23. package/dist/agent-memory/EpisodicMemory.js +83 -0
  24. package/dist/agent-memory/EpisodicMemory.js.map +1 -0
  25. package/dist/agent-memory/MemorySystem.d.ts +40 -0
  26. package/dist/agent-memory/MemorySystem.d.ts.map +1 -0
  27. package/dist/agent-memory/MemorySystem.js +75 -0
  28. package/dist/agent-memory/MemorySystem.js.map +1 -0
  29. package/dist/agent-memory/ProceduralMemory.d.ts +26 -0
  30. package/dist/agent-memory/ProceduralMemory.d.ts.map +1 -0
  31. package/dist/agent-memory/ProceduralMemory.js +104 -0
  32. package/dist/agent-memory/ProceduralMemory.js.map +1 -0
  33. package/dist/agent-memory/SemanticMemory.d.ts +21 -0
  34. package/dist/agent-memory/SemanticMemory.d.ts.map +1 -0
  35. package/dist/agent-memory/SemanticMemory.js +68 -0
  36. package/dist/agent-memory/SemanticMemory.js.map +1 -0
  37. package/dist/agent-memory/index.d.ts +9 -0
  38. package/dist/agent-memory/index.d.ts.map +1 -0
  39. package/dist/agent-memory/index.js +19 -0
  40. package/dist/agent-memory/index.js.map +1 -0
  41. package/dist/agent-memory/scoring.d.ts +10 -0
  42. package/dist/agent-memory/scoring.d.ts.map +1 -0
  43. package/dist/agent-memory/scoring.js +32 -0
  44. package/dist/agent-memory/scoring.js.map +1 -0
  45. package/dist/agent-memory/stores/InMemoryStore.d.ts +10 -0
  46. package/dist/agent-memory/stores/InMemoryStore.d.ts.map +1 -0
  47. package/dist/agent-memory/stores/InMemoryStore.js +25 -0
  48. package/dist/agent-memory/stores/InMemoryStore.js.map +1 -0
  49. package/dist/agent-memory/stores/JsonFileStore.d.ts +18 -0
  50. package/dist/agent-memory/stores/JsonFileStore.d.ts.map +1 -0
  51. package/dist/agent-memory/stores/JsonFileStore.js +61 -0
  52. package/dist/agent-memory/stores/JsonFileStore.js.map +1 -0
  53. package/dist/agent-memory/tools.d.ts +6 -0
  54. package/dist/agent-memory/tools.d.ts.map +1 -0
  55. package/dist/agent-memory/tools.js +74 -0
  56. package/dist/agent-memory/tools.js.map +1 -0
  57. package/dist/agent-memory/types.d.ts +75 -0
  58. package/dist/agent-memory/types.d.ts.map +1 -0
  59. package/dist/agent-memory/types.js +4 -0
  60. package/dist/agent-memory/types.js.map +1 -0
  61. package/dist/bootstrap/GlobalSeed.d.ts +46 -0
  62. package/dist/bootstrap/GlobalSeed.d.ts.map +1 -0
  63. package/dist/bootstrap/GlobalSeed.js +285 -0
  64. package/dist/bootstrap/GlobalSeed.js.map +1 -0
  65. package/dist/bootstrap/config.d.ts +24 -0
  66. package/dist/bootstrap/config.d.ts.map +1 -0
  67. package/dist/bootstrap/config.js +71 -0
  68. package/dist/bootstrap/config.js.map +1 -0
  69. package/dist/checkpoint/index.d.ts +17 -0
  70. package/dist/checkpoint/index.d.ts.map +1 -0
  71. package/dist/checkpoint/index.js +207 -0
  72. package/dist/checkpoint/index.js.map +1 -0
  73. package/dist/commands/SlashCommandRegistry.d.ts +98 -0
  74. package/dist/commands/SlashCommandRegistry.d.ts.map +1 -0
  75. package/dist/commands/SlashCommandRegistry.js +41 -0
  76. package/dist/commands/SlashCommandRegistry.js.map +1 -0
  77. package/dist/commands/builtin.d.ts +7 -0
  78. package/dist/commands/builtin.d.ts.map +1 -0
  79. package/dist/commands/builtin.js +694 -0
  80. package/dist/commands/builtin.js.map +1 -0
  81. package/dist/commands/index.d.ts +4 -0
  82. package/dist/commands/index.d.ts.map +1 -0
  83. package/dist/commands/index.js +8 -0
  84. package/dist/commands/index.js.map +1 -0
  85. package/dist/context/index.d.ts +8 -0
  86. package/dist/context/index.d.ts.map +1 -0
  87. package/dist/context/index.js +8 -0
  88. package/dist/context/index.js.map +1 -0
  89. package/dist/context/pipeline.d.ts +46 -0
  90. package/dist/context/pipeline.d.ts.map +1 -0
  91. package/dist/context/pipeline.js +111 -0
  92. package/dist/context/pipeline.js.map +1 -0
  93. package/dist/context/stages/stage-instructions.d.ts +12 -0
  94. package/dist/context/stages/stage-instructions.d.ts.map +1 -0
  95. package/dist/context/stages/stage-instructions.js +76 -0
  96. package/dist/context/stages/stage-instructions.js.map +1 -0
  97. package/dist/context/stages/stage-lessons.d.ts +13 -0
  98. package/dist/context/stages/stage-lessons.d.ts.map +1 -0
  99. package/dist/context/stages/stage-lessons.js +83 -0
  100. package/dist/context/stages/stage-lessons.js.map +1 -0
  101. package/dist/context/stages/stage-manifest.d.ts +11 -0
  102. package/dist/context/stages/stage-manifest.d.ts.map +1 -0
  103. package/dist/context/stages/stage-manifest.js +62 -0
  104. package/dist/context/stages/stage-manifest.js.map +1 -0
  105. package/dist/context/stages/stage-project.d.ts +10 -0
  106. package/dist/context/stages/stage-project.d.ts.map +1 -0
  107. package/dist/context/stages/stage-project.js +55 -0
  108. package/dist/context/stages/stage-project.js.map +1 -0
  109. package/dist/context/stages/stage-session.d.ts +12 -0
  110. package/dist/context/stages/stage-session.d.ts.map +1 -0
  111. package/dist/context/stages/stage-session.js +69 -0
  112. package/dist/context/stages/stage-session.js.map +1 -0
  113. package/dist/delegation/DelegationBus.d.ts +40 -0
  114. package/dist/delegation/DelegationBus.d.ts.map +1 -0
  115. package/dist/delegation/DelegationBus.js +68 -0
  116. package/dist/delegation/DelegationBus.js.map +1 -0
  117. package/dist/engine/AgentEngine.d.ts +212 -0
  118. package/dist/engine/AgentEngine.d.ts.map +1 -0
  119. package/dist/engine/AgentEngine.js +1037 -0
  120. package/dist/engine/AgentEngine.js.map +1 -0
  121. package/dist/engine/AgentRegistry.d.ts +13 -0
  122. package/dist/engine/AgentRegistry.d.ts.map +1 -0
  123. package/dist/engine/AgentRegistry.js +37 -0
  124. package/dist/engine/AgentRegistry.js.map +1 -0
  125. package/dist/engine/IterationManager.d.ts +79 -0
  126. package/dist/engine/IterationManager.d.ts.map +1 -0
  127. package/dist/engine/IterationManager.js +103 -0
  128. package/dist/engine/IterationManager.js.map +1 -0
  129. package/dist/engine/ProviderRegistry.d.ts +10 -0
  130. package/dist/engine/ProviderRegistry.d.ts.map +1 -0
  131. package/dist/engine/ProviderRegistry.js +28 -0
  132. package/dist/engine/ProviderRegistry.js.map +1 -0
  133. package/dist/engine/ToolRegistry.d.ts +54 -0
  134. package/dist/engine/ToolRegistry.d.ts.map +1 -0
  135. package/dist/engine/ToolRegistry.js +75 -0
  136. package/dist/engine/ToolRegistry.js.map +1 -0
  137. package/dist/engine/createBaseEngine.d.ts +169 -0
  138. package/dist/engine/createBaseEngine.d.ts.map +1 -0
  139. package/dist/engine/createBaseEngine.js +91 -0
  140. package/dist/engine/createBaseEngine.js.map +1 -0
  141. package/dist/engine/qa-orchestrator.d.ts +56 -0
  142. package/dist/engine/qa-orchestrator.d.ts.map +1 -0
  143. package/dist/engine/qa-orchestrator.js +163 -0
  144. package/dist/engine/qa-orchestrator.js.map +1 -0
  145. package/dist/index.d.ts +83 -0
  146. package/dist/index.d.ts.map +1 -0
  147. package/dist/index.js +163 -0
  148. package/dist/index.js.map +1 -0
  149. package/dist/mcp/MCPClientManager.d.ts +65 -0
  150. package/dist/mcp/MCPClientManager.d.ts.map +1 -0
  151. package/dist/mcp/MCPClientManager.js +211 -0
  152. package/dist/mcp/MCPClientManager.js.map +1 -0
  153. package/dist/mcp/index.d.ts +3 -0
  154. package/dist/mcp/index.d.ts.map +1 -0
  155. package/dist/mcp/index.js +6 -0
  156. package/dist/mcp/index.js.map +1 -0
  157. package/dist/mcp/types.d.ts +121 -0
  158. package/dist/mcp/types.d.ts.map +1 -0
  159. package/dist/mcp/types.js +3 -0
  160. package/dist/mcp/types.js.map +1 -0
  161. package/dist/memory/SessionMemory.d.ts +9 -0
  162. package/dist/memory/SessionMemory.d.ts.map +1 -0
  163. package/dist/memory/SessionMemory.js +20 -0
  164. package/dist/memory/SessionMemory.js.map +1 -0
  165. package/dist/observability/CostTracker.d.ts +19 -0
  166. package/dist/observability/CostTracker.d.ts.map +1 -0
  167. package/dist/observability/CostTracker.js +64 -0
  168. package/dist/observability/CostTracker.js.map +1 -0
  169. package/dist/observability/MetricsCollector.d.ts +17 -0
  170. package/dist/observability/MetricsCollector.d.ts.map +1 -0
  171. package/dist/observability/MetricsCollector.js +70 -0
  172. package/dist/observability/MetricsCollector.js.map +1 -0
  173. package/dist/observability/ObservabilityManager.d.ts +33 -0
  174. package/dist/observability/ObservabilityManager.d.ts.map +1 -0
  175. package/dist/observability/ObservabilityManager.js +107 -0
  176. package/dist/observability/ObservabilityManager.js.map +1 -0
  177. package/dist/observability/Tracer.d.ts +23 -0
  178. package/dist/observability/Tracer.d.ts.map +1 -0
  179. package/dist/observability/Tracer.js +65 -0
  180. package/dist/observability/Tracer.js.map +1 -0
  181. package/dist/observability/index.d.ts +7 -0
  182. package/dist/observability/index.d.ts.map +1 -0
  183. package/dist/observability/index.js +14 -0
  184. package/dist/observability/index.js.map +1 -0
  185. package/dist/observability/types.d.ts +77 -0
  186. package/dist/observability/types.d.ts.map +1 -0
  187. package/dist/observability/types.js +15 -0
  188. package/dist/observability/types.js.map +1 -0
  189. package/dist/orchestration/audit/audit-ci-blocker.d.ts +31 -0
  190. package/dist/orchestration/audit/audit-ci-blocker.d.ts.map +1 -0
  191. package/dist/orchestration/audit/audit-ci-blocker.js +120 -0
  192. package/dist/orchestration/audit/audit-ci-blocker.js.map +1 -0
  193. package/dist/orchestration/audit/audit-finding-tracer.d.ts +33 -0
  194. package/dist/orchestration/audit/audit-finding-tracer.d.ts.map +1 -0
  195. package/dist/orchestration/audit/audit-finding-tracer.js +126 -0
  196. package/dist/orchestration/audit/audit-finding-tracer.js.map +1 -0
  197. package/dist/orchestration/audit/audit-lessons-learned.d.ts +27 -0
  198. package/dist/orchestration/audit/audit-lessons-learned.d.ts.map +1 -0
  199. package/dist/orchestration/audit/audit-lessons-learned.js +155 -0
  200. package/dist/orchestration/audit/audit-lessons-learned.js.map +1 -0
  201. package/dist/orchestration/audit/audit-pending-issues.d.ts +21 -0
  202. package/dist/orchestration/audit/audit-pending-issues.d.ts.map +1 -0
  203. package/dist/orchestration/audit/audit-pending-issues.js +110 -0
  204. package/dist/orchestration/audit/audit-pending-issues.js.map +1 -0
  205. package/dist/orchestration/audit/audit-reflection-bridge.d.ts +39 -0
  206. package/dist/orchestration/audit/audit-reflection-bridge.d.ts.map +1 -0
  207. package/dist/orchestration/audit/audit-reflection-bridge.js +65 -0
  208. package/dist/orchestration/audit/audit-reflection-bridge.js.map +1 -0
  209. package/dist/orchestration/audit/audit-report-renderer.d.ts +30 -0
  210. package/dist/orchestration/audit/audit-report-renderer.d.ts.map +1 -0
  211. package/dist/orchestration/audit/audit-report-renderer.js +249 -0
  212. package/dist/orchestration/audit/audit-report-renderer.js.map +1 -0
  213. package/dist/orchestration/audit/audit-report-version-manager.d.ts +52 -0
  214. package/dist/orchestration/audit/audit-report-version-manager.d.ts.map +1 -0
  215. package/dist/orchestration/audit/audit-report-version-manager.js +144 -0
  216. package/dist/orchestration/audit/audit-report-version-manager.js.map +1 -0
  217. package/dist/orchestration/audit/audit-silent-gates-buffer.d.ts +37 -0
  218. package/dist/orchestration/audit/audit-silent-gates-buffer.d.ts.map +1 -0
  219. package/dist/orchestration/audit/audit-silent-gates-buffer.js +129 -0
  220. package/dist/orchestration/audit/audit-silent-gates-buffer.js.map +1 -0
  221. package/dist/orchestration/audit/index.d.ts +17 -0
  222. package/dist/orchestration/audit/index.d.ts.map +1 -0
  223. package/dist/orchestration/audit/index.js +26 -0
  224. package/dist/orchestration/audit/index.js.map +1 -0
  225. package/dist/orchestration/audit/types.d.ts +79 -0
  226. package/dist/orchestration/audit/types.d.ts.map +1 -0
  227. package/dist/orchestration/audit/types.js +10 -0
  228. package/dist/orchestration/audit/types.js.map +1 -0
  229. package/dist/orchestration/audit-reporter.d.ts +133 -0
  230. package/dist/orchestration/audit-reporter.d.ts.map +1 -0
  231. package/dist/orchestration/audit-reporter.js +322 -0
  232. package/dist/orchestration/audit-reporter.js.map +1 -0
  233. package/dist/orchestration/config-loader.d.ts +51 -0
  234. package/dist/orchestration/config-loader.d.ts.map +1 -0
  235. package/dist/orchestration/config-loader.js +215 -0
  236. package/dist/orchestration/config-loader.js.map +1 -0
  237. package/dist/orchestration/domain-detector.d.ts +36 -0
  238. package/dist/orchestration/domain-detector.d.ts.map +1 -0
  239. package/dist/orchestration/domain-detector.js +157 -0
  240. package/dist/orchestration/domain-detector.js.map +1 -0
  241. package/dist/orchestration/fsm.d.ts +86 -0
  242. package/dist/orchestration/fsm.d.ts.map +1 -0
  243. package/dist/orchestration/fsm.js +223 -0
  244. package/dist/orchestration/fsm.js.map +1 -0
  245. package/dist/orchestration/gate-resolver.d.ts +42 -0
  246. package/dist/orchestration/gate-resolver.d.ts.map +1 -0
  247. package/dist/orchestration/gate-resolver.js +94 -0
  248. package/dist/orchestration/gate-resolver.js.map +1 -0
  249. package/dist/orchestration/index.d.ts +15 -0
  250. package/dist/orchestration/index.d.ts.map +1 -0
  251. package/dist/orchestration/index.js +32 -0
  252. package/dist/orchestration/index.js.map +1 -0
  253. package/dist/orchestration/intent-detector.d.ts +43 -0
  254. package/dist/orchestration/intent-detector.d.ts.map +1 -0
  255. package/dist/orchestration/intent-detector.js +249 -0
  256. package/dist/orchestration/intent-detector.js.map +1 -0
  257. package/dist/orchestration/keyword-match.d.ts +17 -0
  258. package/dist/orchestration/keyword-match.d.ts.map +1 -0
  259. package/dist/orchestration/keyword-match.js +26 -0
  260. package/dist/orchestration/keyword-match.js.map +1 -0
  261. package/dist/orchestration/llm-client-adapter.d.ts +11 -0
  262. package/dist/orchestration/llm-client-adapter.d.ts.map +1 -0
  263. package/dist/orchestration/llm-client-adapter.js +30 -0
  264. package/dist/orchestration/llm-client-adapter.js.map +1 -0
  265. package/dist/orchestration/orchestrator.d.ts +153 -0
  266. package/dist/orchestration/orchestrator.d.ts.map +1 -0
  267. package/dist/orchestration/orchestrator.js +471 -0
  268. package/dist/orchestration/orchestrator.js.map +1 -0
  269. package/dist/orchestration/policy-engine.d.ts +47 -0
  270. package/dist/orchestration/policy-engine.d.ts.map +1 -0
  271. package/dist/orchestration/policy-engine.js +262 -0
  272. package/dist/orchestration/policy-engine.js.map +1 -0
  273. package/dist/orchestration/risk-scorer.d.ts +38 -0
  274. package/dist/orchestration/risk-scorer.d.ts.map +1 -0
  275. package/dist/orchestration/risk-scorer.js +145 -0
  276. package/dist/orchestration/risk-scorer.js.map +1 -0
  277. package/dist/orchestration/task-context.d.ts +195 -0
  278. package/dist/orchestration/task-context.d.ts.map +1 -0
  279. package/dist/orchestration/task-context.js +160 -0
  280. package/dist/orchestration/task-context.js.map +1 -0
  281. package/dist/orchestration/types.d.ts +111 -0
  282. package/dist/orchestration/types.d.ts.map +1 -0
  283. package/dist/orchestration/types.js +37 -0
  284. package/dist/orchestration/types.js.map +1 -0
  285. package/dist/qa/index.d.ts +3 -0
  286. package/dist/qa/index.d.ts.map +1 -0
  287. package/dist/qa/index.js +6 -0
  288. package/dist/qa/index.js.map +1 -0
  289. package/dist/qa/qa-service.d.ts +30 -0
  290. package/dist/qa/qa-service.d.ts.map +1 -0
  291. package/dist/qa/qa-service.js +200 -0
  292. package/dist/qa/qa-service.js.map +1 -0
  293. package/dist/reflection/commands/domain-commands.d.ts +78 -0
  294. package/dist/reflection/commands/domain-commands.d.ts.map +1 -0
  295. package/dist/reflection/commands/domain-commands.js +203 -0
  296. package/dist/reflection/commands/domain-commands.js.map +1 -0
  297. package/dist/reflection/domain-registry.d.ts +104 -0
  298. package/dist/reflection/domain-registry.d.ts.map +1 -0
  299. package/dist/reflection/domain-registry.js +279 -0
  300. package/dist/reflection/domain-registry.js.map +1 -0
  301. package/dist/reflection/domains/agent-domain.d.ts +40 -0
  302. package/dist/reflection/domains/agent-domain.d.ts.map +1 -0
  303. package/dist/reflection/domains/agent-domain.js +161 -0
  304. package/dist/reflection/domains/agent-domain.js.map +1 -0
  305. package/dist/reflection/domains/audit-domain.d.ts +46 -0
  306. package/dist/reflection/domains/audit-domain.d.ts.map +1 -0
  307. package/dist/reflection/domains/audit-domain.js +241 -0
  308. package/dist/reflection/domains/audit-domain.js.map +1 -0
  309. package/dist/reflection/domains/bootstrap-domain.d.ts +40 -0
  310. package/dist/reflection/domains/bootstrap-domain.d.ts.map +1 -0
  311. package/dist/reflection/domains/bootstrap-domain.js +156 -0
  312. package/dist/reflection/domains/bootstrap-domain.js.map +1 -0
  313. package/dist/reflection/domains/commit-domain.d.ts +40 -0
  314. package/dist/reflection/domains/commit-domain.d.ts.map +1 -0
  315. package/dist/reflection/domains/commit-domain.js +174 -0
  316. package/dist/reflection/domains/commit-domain.js.map +1 -0
  317. package/dist/reflection/domains/test-domain.d.ts +40 -0
  318. package/dist/reflection/domains/test-domain.d.ts.map +1 -0
  319. package/dist/reflection/domains/test-domain.js +194 -0
  320. package/dist/reflection/domains/test-domain.js.map +1 -0
  321. package/dist/reflection/failure-catalog.d.ts +100 -0
  322. package/dist/reflection/failure-catalog.d.ts.map +1 -0
  323. package/dist/reflection/failure-catalog.js +269 -0
  324. package/dist/reflection/failure-catalog.js.map +1 -0
  325. package/dist/reflection/historical-loader.d.ts +105 -0
  326. package/dist/reflection/historical-loader.d.ts.map +1 -0
  327. package/dist/reflection/historical-loader.js +462 -0
  328. package/dist/reflection/historical-loader.js.map +1 -0
  329. package/dist/reflection/hooks/agent-hook.d.ts +72 -0
  330. package/dist/reflection/hooks/agent-hook.d.ts.map +1 -0
  331. package/dist/reflection/hooks/agent-hook.js +98 -0
  332. package/dist/reflection/hooks/agent-hook.js.map +1 -0
  333. package/dist/reflection/hooks/audit-hook.d.ts +72 -0
  334. package/dist/reflection/hooks/audit-hook.d.ts.map +1 -0
  335. package/dist/reflection/hooks/audit-hook.js +112 -0
  336. package/dist/reflection/hooks/audit-hook.js.map +1 -0
  337. package/dist/reflection/hooks/bootstrap-hook.d.ts +71 -0
  338. package/dist/reflection/hooks/bootstrap-hook.d.ts.map +1 -0
  339. package/dist/reflection/hooks/bootstrap-hook.js +97 -0
  340. package/dist/reflection/hooks/bootstrap-hook.js.map +1 -0
  341. package/dist/reflection/hooks/commit-hook.d.ts +63 -0
  342. package/dist/reflection/hooks/commit-hook.d.ts.map +1 -0
  343. package/dist/reflection/hooks/commit-hook.js +90 -0
  344. package/dist/reflection/hooks/commit-hook.js.map +1 -0
  345. package/dist/reflection/hooks/test-hook.d.ts +65 -0
  346. package/dist/reflection/hooks/test-hook.d.ts.map +1 -0
  347. package/dist/reflection/hooks/test-hook.js +99 -0
  348. package/dist/reflection/hooks/test-hook.js.map +1 -0
  349. package/dist/reflection/index.d.ts +19 -0
  350. package/dist/reflection/index.d.ts.map +1 -0
  351. package/dist/reflection/index.js +40 -0
  352. package/dist/reflection/index.js.map +1 -0
  353. package/dist/reflection/lessons-memo-generator.d.ts +60 -0
  354. package/dist/reflection/lessons-memo-generator.d.ts.map +1 -0
  355. package/dist/reflection/lessons-memo-generator.js +286 -0
  356. package/dist/reflection/lessons-memo-generator.js.map +1 -0
  357. package/dist/reflection/pattern-detector.d.ts +55 -0
  358. package/dist/reflection/pattern-detector.d.ts.map +1 -0
  359. package/dist/reflection/pattern-detector.js +137 -0
  360. package/dist/reflection/pattern-detector.js.map +1 -0
  361. package/dist/reflection/policy-promoter.d.ts +86 -0
  362. package/dist/reflection/policy-promoter.d.ts.map +1 -0
  363. package/dist/reflection/policy-promoter.js +382 -0
  364. package/dist/reflection/policy-promoter.js.map +1 -0
  365. package/dist/reflection/reflection-engine.d.ts +160 -0
  366. package/dist/reflection/reflection-engine.d.ts.map +1 -0
  367. package/dist/reflection/reflection-engine.js +352 -0
  368. package/dist/reflection/reflection-engine.js.map +1 -0
  369. package/dist/reflection/types.d.ts +106 -0
  370. package/dist/reflection/types.d.ts.map +1 -0
  371. package/dist/reflection/types.js +64 -0
  372. package/dist/reflection/types.js.map +1 -0
  373. package/dist/shared/llm/resilient-client.d.ts +40 -0
  374. package/dist/shared/llm/resilient-client.d.ts.map +1 -0
  375. package/dist/shared/llm/resilient-client.js +60 -0
  376. package/dist/shared/llm/resilient-client.js.map +1 -0
  377. package/dist/shared/utils/atomic-write.d.ts +7 -0
  378. package/dist/shared/utils/atomic-write.d.ts.map +1 -0
  379. package/dist/shared/utils/atomic-write.js +52 -0
  380. package/dist/shared/utils/atomic-write.js.map +1 -0
  381. package/dist/shared/utils/git.d.ts +2 -0
  382. package/dist/shared/utils/git.d.ts.map +1 -0
  383. package/dist/shared/utils/git.js +17 -0
  384. package/dist/shared/utils/git.js.map +1 -0
  385. package/dist/shared/utils/project-key.d.ts +4 -0
  386. package/dist/shared/utils/project-key.d.ts.map +1 -0
  387. package/dist/shared/utils/project-key.js +54 -0
  388. package/dist/shared/utils/project-key.js.map +1 -0
  389. package/dist/shared/utils/string-utils.d.ts +17 -0
  390. package/dist/shared/utils/string-utils.d.ts.map +1 -0
  391. package/dist/shared/utils/string-utils.js +37 -0
  392. package/dist/shared/utils/string-utils.js.map +1 -0
  393. package/dist/skills/activator.d.ts +27 -0
  394. package/dist/skills/activator.d.ts.map +1 -0
  395. package/dist/skills/activator.js +127 -0
  396. package/dist/skills/activator.js.map +1 -0
  397. package/dist/skills/builtins/global.d.ts +7 -0
  398. package/dist/skills/builtins/global.d.ts.map +1 -0
  399. package/dist/skills/builtins/global.js +208 -0
  400. package/dist/skills/builtins/global.js.map +1 -0
  401. package/dist/skills/builtins/go-pack.d.ts +7 -0
  402. package/dist/skills/builtins/go-pack.d.ts.map +1 -0
  403. package/dist/skills/builtins/go-pack.js +263 -0
  404. package/dist/skills/builtins/go-pack.js.map +1 -0
  405. package/dist/skills/builtins/java-pack.d.ts +7 -0
  406. package/dist/skills/builtins/java-pack.d.ts.map +1 -0
  407. package/dist/skills/builtins/java-pack.js +272 -0
  408. package/dist/skills/builtins/java-pack.js.map +1 -0
  409. package/dist/skills/builtins/kotlin-pack.d.ts +9 -0
  410. package/dist/skills/builtins/kotlin-pack.d.ts.map +1 -0
  411. package/dist/skills/builtins/kotlin-pack.js +292 -0
  412. package/dist/skills/builtins/kotlin-pack.js.map +1 -0
  413. package/dist/skills/builtins/node-pack.d.ts +7 -0
  414. package/dist/skills/builtins/node-pack.d.ts.map +1 -0
  415. package/dist/skills/builtins/node-pack.js +750 -0
  416. package/dist/skills/builtins/node-pack.js.map +1 -0
  417. package/dist/skills/builtins/python-pack.d.ts +7 -0
  418. package/dist/skills/builtins/python-pack.d.ts.map +1 -0
  419. package/dist/skills/builtins/python-pack.js +303 -0
  420. package/dist/skills/builtins/python-pack.js.map +1 -0
  421. package/dist/skills/index.d.ts +11 -0
  422. package/dist/skills/index.d.ts.map +1 -0
  423. package/dist/skills/index.js +24 -0
  424. package/dist/skills/index.js.map +1 -0
  425. package/dist/skills/loader.d.ts +39 -0
  426. package/dist/skills/loader.d.ts.map +1 -0
  427. package/dist/skills/loader.js +152 -0
  428. package/dist/skills/loader.js.map +1 -0
  429. package/dist/skills/manager.d.ts +97 -0
  430. package/dist/skills/manager.d.ts.map +1 -0
  431. package/dist/skills/manager.js +296 -0
  432. package/dist/skills/manager.js.map +1 -0
  433. package/dist/skills/parse-md-skill.d.ts +14 -0
  434. package/dist/skills/parse-md-skill.d.ts.map +1 -0
  435. package/dist/skills/parse-md-skill.js +86 -0
  436. package/dist/skills/parse-md-skill.js.map +1 -0
  437. package/dist/skills/providers/github.d.ts +21 -0
  438. package/dist/skills/providers/github.d.ts.map +1 -0
  439. package/dist/skills/providers/github.js +146 -0
  440. package/dist/skills/providers/github.js.map +1 -0
  441. package/dist/skills/providers/index.d.ts +6 -0
  442. package/dist/skills/providers/index.d.ts.map +1 -0
  443. package/dist/skills/providers/index.js +12 -0
  444. package/dist/skills/providers/index.js.map +1 -0
  445. package/dist/skills/providers/local.d.ts +16 -0
  446. package/dist/skills/providers/local.d.ts.map +1 -0
  447. package/dist/skills/providers/local.js +91 -0
  448. package/dist/skills/providers/local.js.map +1 -0
  449. package/dist/skills/providers/obsidian.d.ts +31 -0
  450. package/dist/skills/providers/obsidian.d.ts.map +1 -0
  451. package/dist/skills/providers/obsidian.js +141 -0
  452. package/dist/skills/providers/obsidian.js.map +1 -0
  453. package/dist/skills/providers/skills-sh.d.ts +32 -0
  454. package/dist/skills/providers/skills-sh.d.ts.map +1 -0
  455. package/dist/skills/providers/skills-sh.js +53 -0
  456. package/dist/skills/providers/skills-sh.js.map +1 -0
  457. package/dist/skills/providers/types.d.ts +25 -0
  458. package/dist/skills/providers/types.d.ts.map +1 -0
  459. package/dist/skills/providers/types.js +3 -0
  460. package/dist/skills/providers/types.js.map +1 -0
  461. package/dist/skills/registry.d.ts +18 -0
  462. package/dist/skills/registry.d.ts.map +1 -0
  463. package/dist/skills/registry.js +45 -0
  464. package/dist/skills/registry.js.map +1 -0
  465. package/dist/skills/types.d.ts +66 -0
  466. package/dist/skills/types.d.ts.map +1 -0
  467. package/dist/skills/types.js +3 -0
  468. package/dist/skills/types.js.map +1 -0
  469. package/dist/tools/defineTool.d.ts +34 -0
  470. package/dist/tools/defineTool.d.ts.map +1 -0
  471. package/dist/tools/defineTool.js +63 -0
  472. package/dist/tools/defineTool.js.map +1 -0
  473. package/dist/transport/CallbackTransport.d.ts +12 -0
  474. package/dist/transport/CallbackTransport.d.ts.map +1 -0
  475. package/dist/transport/CallbackTransport.js +28 -0
  476. package/dist/transport/CallbackTransport.js.map +1 -0
  477. package/dist/transport/StdoutTransport.d.ts +9 -0
  478. package/dist/transport/StdoutTransport.d.ts.map +1 -0
  479. package/dist/transport/StdoutTransport.js +63 -0
  480. package/dist/transport/StdoutTransport.js.map +1 -0
  481. package/dist/transport/Transport.d.ts +8 -0
  482. package/dist/transport/Transport.d.ts.map +1 -0
  483. package/dist/transport/Transport.js +3 -0
  484. package/dist/transport/Transport.js.map +1 -0
  485. package/dist/triggers/EventBus.d.ts +14 -0
  486. package/dist/triggers/EventBus.d.ts.map +1 -0
  487. package/dist/triggers/EventBus.js +18 -0
  488. package/dist/triggers/EventBus.js.map +1 -0
  489. package/dist/triggers/TriggerManager.d.ts +28 -0
  490. package/dist/triggers/TriggerManager.d.ts.map +1 -0
  491. package/dist/triggers/TriggerManager.js +158 -0
  492. package/dist/triggers/TriggerManager.js.map +1 -0
  493. package/dist/triggers/WebhookServer.d.ts +23 -0
  494. package/dist/triggers/WebhookServer.d.ts.map +1 -0
  495. package/dist/triggers/WebhookServer.js +127 -0
  496. package/dist/triggers/WebhookServer.js.map +1 -0
  497. package/dist/triggers/createAutonomousAgent.d.ts +49 -0
  498. package/dist/triggers/createAutonomousAgent.d.ts.map +1 -0
  499. package/dist/triggers/createAutonomousAgent.js +42 -0
  500. package/dist/triggers/createAutonomousAgent.js.map +1 -0
  501. package/dist/triggers/index.d.ts +8 -0
  502. package/dist/triggers/index.d.ts.map +1 -0
  503. package/dist/triggers/index.js +12 -0
  504. package/dist/triggers/index.js.map +1 -0
  505. package/dist/triggers/types.d.ts +35 -0
  506. package/dist/triggers/types.d.ts.map +1 -0
  507. package/dist/triggers/types.js +3 -0
  508. package/dist/triggers/types.js.map +1 -0
  509. package/dist/types/index.d.ts +256 -0
  510. package/dist/types/index.d.ts.map +1 -0
  511. package/dist/types/index.js +4 -0
  512. package/dist/types/index.js.map +1 -0
  513. package/dist/workflow/WorkflowBuilder.d.ts +22 -0
  514. package/dist/workflow/WorkflowBuilder.d.ts.map +1 -0
  515. package/dist/workflow/WorkflowBuilder.js +67 -0
  516. package/dist/workflow/WorkflowBuilder.js.map +1 -0
  517. package/dist/workflow/WorkflowRunner.d.ts +22 -0
  518. package/dist/workflow/WorkflowRunner.d.ts.map +1 -0
  519. package/dist/workflow/WorkflowRunner.js +97 -0
  520. package/dist/workflow/WorkflowRunner.js.map +1 -0
  521. package/dist/workflow/index.d.ts +5 -0
  522. package/dist/workflow/index.d.ts.map +1 -0
  523. package/dist/workflow/index.js +10 -0
  524. package/dist/workflow/index.js.map +1 -0
  525. package/dist/workflow/types.d.ts +35 -0
  526. package/dist/workflow/types.d.ts.map +1 -0
  527. package/dist/workflow/types.js +3 -0
  528. package/dist/workflow/types.js.map +1 -0
  529. package/dist/workspace/index.d.ts +55 -0
  530. package/dist/workspace/index.d.ts.map +1 -0
  531. package/dist/workspace/index.js +189 -0
  532. package/dist/workspace/index.js.map +1 -0
  533. package/package.json +87 -0
@@ -0,0 +1,471 @@
1
+ "use strict";
2
+ /**
3
+ * @description Orquestador principal — Pipeline completo de clasificación.
4
+ *
5
+ * Integra: Intent Detection → Domain Detection → Risk Scoring → Policy Engine
6
+ *
7
+ * Cada etapa enriquece el TaskContext progresivamente.
8
+ * El resultado final contiene los agentes seleccionados, políticas aplicadas
9
+ * y gates requeridos para proceder.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const orchestrator = new Orchestrator(client, config);
14
+ * const result = await orchestrator.orchestrate('Agregar circuit breaker para ServiceNow');
15
+ * // result.task.actionType === 'implementation'
16
+ * // result.task.domains === ['resilience', 'backend']
17
+ * // result.task.riskLevel === 'high'
18
+ * // result.selectedAgents === ['architecture', 'backend-agent', 'qa-engineer']
19
+ * ```
20
+ */
21
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ var desc = Object.getOwnPropertyDescriptor(m, k);
24
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
25
+ desc = { enumerable: true, get: function() { return m[k]; } };
26
+ }
27
+ Object.defineProperty(o, k2, desc);
28
+ }) : (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ o[k2] = m[k];
31
+ }));
32
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
33
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
34
+ }) : function(o, v) {
35
+ o["default"] = v;
36
+ });
37
+ var __importStar = (this && this.__importStar) || (function () {
38
+ var ownKeys = function(o) {
39
+ ownKeys = Object.getOwnPropertyNames || function (o) {
40
+ var ar = [];
41
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
42
+ return ar;
43
+ };
44
+ return ownKeys(o);
45
+ };
46
+ return function (mod) {
47
+ if (mod && mod.__esModule) return mod;
48
+ var result = {};
49
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
50
+ __setModuleDefault(result, mod);
51
+ return result;
52
+ };
53
+ })();
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.Orchestrator = exports.AuditReporter = exports.createTaskContext = exports.TaskFSM = exports.applyPolicies = exports.evaluatePolicies = exports.enrichTaskWithRisk = exports.calculateRisk = exports.enrichTaskWithDomains = exports.detectDomains = exports.enrichTaskWithIntent = exports.detectIntent = exports.defaultOrchestratorConfig = void 0;
56
+ const fs = __importStar(require("fs"));
57
+ const os = __importStar(require("os"));
58
+ const path = __importStar(require("path"));
59
+ const crypto_1 = require("crypto");
60
+ const yaml = __importStar(require("yaml"));
61
+ const pipeline_1 = require("@backendkit-labs/pipeline");
62
+ const task_context_1 = require("./task-context");
63
+ const intent_detector_1 = require("./intent-detector");
64
+ const domain_detector_1 = require("./domain-detector");
65
+ const risk_scorer_1 = require("./risk-scorer");
66
+ const policy_engine_1 = require("./policy-engine");
67
+ const fsm_1 = require("./fsm");
68
+ const types_1 = require("./types");
69
+ const audit_reporter_1 = require("./audit-reporter");
70
+ const EMPTY_POLICY_RESULT = {
71
+ mustInclude: [],
72
+ requiredGates: [],
73
+ mustExecute: [],
74
+ appliedRules: [],
75
+ };
76
+ // ── Enrichment steps ──────────────────────────────────────────────────────────
77
+ class IntentStep {
78
+ client;
79
+ stepName = 'intent-detection';
80
+ constructor(client) {
81
+ this.client = client;
82
+ }
83
+ async handle(ctx) {
84
+ try {
85
+ return (0, pipeline_1.Ok)({ ...ctx, task: await (0, intent_detector_1.enrichTaskWithIntent)(ctx.task, this.client) });
86
+ }
87
+ catch (e) {
88
+ return (0, pipeline_1.Err)(e instanceof Error ? e : new Error(String(e)));
89
+ }
90
+ }
91
+ }
92
+ class DomainStep {
93
+ stepName = 'domain-detection';
94
+ async handle(ctx) {
95
+ return (0, pipeline_1.Ok)({ ...ctx, task: (0, domain_detector_1.enrichTaskWithDomains)(ctx.task) });
96
+ }
97
+ }
98
+ class RiskStep {
99
+ config;
100
+ stepName = 'risk-scoring';
101
+ constructor(config) {
102
+ this.config = config;
103
+ }
104
+ async handle(ctx) {
105
+ return (0, pipeline_1.Ok)({ ...ctx, task: (0, risk_scorer_1.enrichTaskWithRisk)(ctx.task, this.config) });
106
+ }
107
+ }
108
+ class PolicyStep {
109
+ customRules;
110
+ loadManifest;
111
+ input;
112
+ stepName = 'policy-engine';
113
+ constructor(customRules, loadManifest, input) {
114
+ this.customRules = customRules;
115
+ this.loadManifest = loadManifest;
116
+ this.input = input;
117
+ }
118
+ async handle(ctx) {
119
+ try {
120
+ const manifestRules = await this.loadManifest();
121
+ const mergedRules = [...(this.customRules ?? []), ...manifestRules];
122
+ const result = (0, policy_engine_1.applyPolicies)(ctx.task, mergedRules.length > 0 ? mergedRules : undefined, this.input);
123
+ return (0, pipeline_1.Ok)({ task: result.task, policyResult: result.result });
124
+ }
125
+ catch (e) {
126
+ return (0, pipeline_1.Err)(e instanceof Error ? e : new Error(String(e)));
127
+ }
128
+ }
129
+ }
130
+ var types_2 = require("./types");
131
+ Object.defineProperty(exports, "defaultOrchestratorConfig", { enumerable: true, get: function () { return types_2.defaultOrchestratorConfig; } });
132
+ var intent_detector_2 = require("./intent-detector");
133
+ Object.defineProperty(exports, "detectIntent", { enumerable: true, get: function () { return intent_detector_2.detectIntent; } });
134
+ Object.defineProperty(exports, "enrichTaskWithIntent", { enumerable: true, get: function () { return intent_detector_2.enrichTaskWithIntent; } });
135
+ var domain_detector_2 = require("./domain-detector");
136
+ Object.defineProperty(exports, "detectDomains", { enumerable: true, get: function () { return domain_detector_2.detectDomains; } });
137
+ Object.defineProperty(exports, "enrichTaskWithDomains", { enumerable: true, get: function () { return domain_detector_2.enrichTaskWithDomains; } });
138
+ var risk_scorer_2 = require("./risk-scorer");
139
+ Object.defineProperty(exports, "calculateRisk", { enumerable: true, get: function () { return risk_scorer_2.calculateRisk; } });
140
+ Object.defineProperty(exports, "enrichTaskWithRisk", { enumerable: true, get: function () { return risk_scorer_2.enrichTaskWithRisk; } });
141
+ var policy_engine_2 = require("./policy-engine");
142
+ Object.defineProperty(exports, "evaluatePolicies", { enumerable: true, get: function () { return policy_engine_2.evaluatePolicies; } });
143
+ Object.defineProperty(exports, "applyPolicies", { enumerable: true, get: function () { return policy_engine_2.applyPolicies; } });
144
+ var fsm_2 = require("./fsm");
145
+ Object.defineProperty(exports, "TaskFSM", { enumerable: true, get: function () { return fsm_2.TaskFSM; } });
146
+ var task_context_2 = require("./task-context");
147
+ Object.defineProperty(exports, "createTaskContext", { enumerable: true, get: function () { return task_context_2.createTaskContext; } });
148
+ var audit_reporter_2 = require("./audit-reporter");
149
+ Object.defineProperty(exports, "AuditReporter", { enumerable: true, get: function () { return audit_reporter_2.AuditReporter; } });
150
+ /**
151
+ * @description Orquestador central del sistema multi-agente.
152
+ *
153
+ * Procesa el input del usuario a través de un pipeline de 4 etapas:
154
+ * 1. Intent Detection — clasifica la acción (design, implement, etc.)
155
+ * 2. Domain Detection — identifica bounded contexts
156
+ * 3. Risk Scoring — calcula nivel de riesgo técnico
157
+ * 4. Policy Engine — aplica reglas y determina agentes/gates
158
+ *
159
+ * El resultado es un OrchestrationResult que el AgentLoop puede usar
160
+ * para seleccionar agentes, aplicar gates y controlar el flujo.
161
+ *
162
+ * **Auditoría integrada:**
163
+ * Cada vez que `orchestrate()` se ejecuta, el AuditReporter registra
164
+ * automáticamente un gate de orquestación con los hallazgos detectados.
165
+ *
166
+ * Los gates de QA, security y architecture se registran desde el AgentLoop
167
+ * usando `getAuditReporter()`.
168
+ */
169
+ class Orchestrator {
170
+ client;
171
+ config;
172
+ customRules;
173
+ capabilityMatrix;
174
+ fsm;
175
+ auditReporter;
176
+ appName;
177
+ constructor(options) {
178
+ this.client = options?.client;
179
+ this.config = options?.config ?? (0, types_1.defaultOrchestratorConfig)();
180
+ this.customRules = options?.customRules;
181
+ this.capabilityMatrix = options?.capabilityMatrix;
182
+ this.appName = options?.appName ?? 'bk-agent';
183
+ this.fsm = new fsm_1.TaskFSM();
184
+ this.auditReporter = new audit_reporter_1.AuditReporter({
185
+ projectRoot: options?.projectRoot ?? process.cwd(),
186
+ useGlobalDir: true,
187
+ appName: this.appName,
188
+ });
189
+ }
190
+ /**
191
+ * @description Procesa el input del usuario a través del pipeline completo.
192
+ *
193
+ * @param input - Texto del usuario
194
+ * @returns Resultado completo de la orquestación
195
+ */
196
+ async orchestrate(input) {
197
+ const enrichResult = await (0, pipeline_1.pipeline)()
198
+ .pipeIf(_ => this.config.features.intentDetection, new IntentStep(this.client))
199
+ .pipeIf(_ => this.config.features.domainDetection, new DomainStep())
200
+ .pipeIf(_ => this.config.features.riskScoring, new RiskStep(this.config))
201
+ .pipeIf(_ => this.config.features.policyEngine, new PolicyStep(this.customRules, () => this.loadManifestPolicyRules(), input))
202
+ .run({ task: (0, task_context_1.createTaskContext)(input), policyResult: EMPTY_POLICY_RESULT });
203
+ if (!enrichResult.ok) {
204
+ throw enrichResult.error.cause;
205
+ }
206
+ const { task, policyResult } = enrichResult.value;
207
+ const selectedAgents = this.selectAgents(task, policyResult);
208
+ const agentPipeline = this.buildAgentPipeline(selectedAgents, task);
209
+ const commitAllowed = this.isCommitAllowed(task, policyResult);
210
+ await this.recordOrchestrationGate(task, selectedAgents, policyResult);
211
+ return {
212
+ task,
213
+ selectedAgents,
214
+ agentPipeline,
215
+ appliedPolicies: policyResult.appliedRules.map(r => ({ rule: r.rule, reason: r.reason })),
216
+ requiredGates: policyResult.requiredGates,
217
+ commitAllowed,
218
+ };
219
+ }
220
+ // ── Auditoría ──────────────────────────────────────────────────────────
221
+ /**
222
+ * @description Obtiene la instancia del AuditReporter para registrar gates
223
+ * desde el AgentLoop u otros componentes.
224
+ */
225
+ getAuditReporter() {
226
+ return this.auditReporter;
227
+ }
228
+ /**
229
+ * @description Intenta transicionar el estado de la tarea en el FSM.
230
+ * Expuesto para que el QA orchestrator pueda avanzar estados desde el loop.
231
+ */
232
+ transitionTask(task, to) {
233
+ return this.fsm.transition(task, to);
234
+ }
235
+ /**
236
+ * @description Registra automáticamente un gate de orquestación después
237
+ * de ejecutar el pipeline completo.
238
+ */
239
+ async recordOrchestrationGate(task, selectedAgents, policyResult) {
240
+ const hallazgos = [];
241
+ // Hallazgo de riesgos
242
+ if (task.riskLevel === 'high' || task.riskLevel === 'critical') {
243
+ hallazgos.push({
244
+ id: `ORQ-${(0, crypto_1.randomUUID)().slice(0, 8)}`,
245
+ dimension: 'Riesgo',
246
+ hallazgo: `Tarea con nivel de riesgo ${task.riskLevel}`,
247
+ severidad: task.riskLevel === 'critical' ? 'critical' : 'high',
248
+ evidencia: `RiskLevel: ${task.riskLevel}, Factores: ${JSON.stringify(task.riskFactors)}`,
249
+ recomendacion: 'Asegurar que todos los gates requeridos se ejecuten antes del commit',
250
+ agenteResponsable: 'orchestrator',
251
+ });
252
+ }
253
+ // Hallazgo de gates requeridos
254
+ if (policyResult.requiredGates.length > 0) {
255
+ hallazgos.push({
256
+ id: `GATES-${(0, crypto_1.randomUUID)().slice(0, 8)}`,
257
+ dimension: 'Políticas',
258
+ hallazgo: `Gates requeridos: ${policyResult.requiredGates.join(', ')}`,
259
+ severidad: 'medium',
260
+ evidencia: `Reglas aplicadas: ${policyResult.appliedRules.map(r => r.rule).join(', ')}`,
261
+ recomendacion: `Ejecutar gates: ${policyResult.requiredGates.join(', ')} antes del commit`,
262
+ agenteResponsable: 'orchestrator',
263
+ });
264
+ }
265
+ // Hallazgo de agentes seleccionados
266
+ if (selectedAgents.length > 0) {
267
+ hallazgos.push({
268
+ id: `AGENTS-${(0, crypto_1.randomUUID)().slice(0, 8)}`,
269
+ dimension: 'Selección de Agentes',
270
+ hallazgo: `Agentes seleccionados: ${selectedAgents.map(a => a.agentId).join(', ')}`,
271
+ severidad: 'low',
272
+ evidencia: `Top: ${selectedAgents[0]?.agentId} (score: ${selectedAgents[0]?.score})`,
273
+ recomendacion: selectedAgents.length === 1 && selectedAgents[0]?.agentId === 'general'
274
+ ? 'Considerar configurar capability matrix para mejor selección'
275
+ : 'Selección automática correcta',
276
+ agenteResponsable: 'orchestrator',
277
+ });
278
+ }
279
+ const veredicto = task.riskLevel === 'critical' ? 'NO-GO condicional' :
280
+ task.riskLevel === 'high' ? 'NO-GO condicional' :
281
+ 'GO';
282
+ await this.auditReporter.recordGate('orquestación', 'orchestrator', veredicto, hallazgos, task, `Pipeline ejecutado: intent → domains → risk → policies → agents → gates`, true // skipIfEmpty: No persistir auto-gates sin hallazgos (reduce ruido)
283
+ );
284
+ }
285
+ // ── Selección de Agentes ────────────────────────────────────────────────
286
+ /**
287
+ * Selecciona agentes combinando:
288
+ * - Políticas obligatorias (mustInclude)
289
+ * - Capability matrix (dominios)
290
+ * - Pesos dinámicos
291
+ */
292
+ selectAgents(task, policyResult) {
293
+ const selected = [];
294
+ const seen = new Set();
295
+ // Fuente única de verdad: task.assignedAgents (ya rellenado por applyPolicies)
296
+ // más cualquier mustInclude adicional que la política reportó
297
+ const mandatoryIds = new Set([
298
+ ...task.assignedAgents,
299
+ ...policyResult.mustInclude,
300
+ ]);
301
+ for (const agentId of mandatoryIds) {
302
+ if (!seen.has(agentId)) {
303
+ seen.add(agentId);
304
+ selected.push({ agentId, score: 100, reason: 'Politica obligatoria' });
305
+ }
306
+ }
307
+ // Agentes por capability matrix (dominios detectados)
308
+ if (this.capabilityMatrix) {
309
+ for (const domain of task.domains) {
310
+ for (const [agentId, capability] of Object.entries(this.capabilityMatrix)) {
311
+ if (seen.has(agentId))
312
+ continue;
313
+ if (capability.owns.includes(domain)) {
314
+ seen.add(agentId);
315
+ const baseWeight = capability.baseWeight ?? 0.8;
316
+ selected.push({
317
+ agentId,
318
+ score: Math.round(baseWeight * 100),
319
+ reason: `Domina el dominio: ${domain}`,
320
+ });
321
+ }
322
+ }
323
+ }
324
+ }
325
+ // Agente general como fallback
326
+ if (selected.length === 0) {
327
+ selected.push({ agentId: 'general', score: 50, reason: 'Fallback: agente general' });
328
+ }
329
+ return selected.sort((a, b) => b.score - a.score);
330
+ }
331
+ /**
332
+ * Construye el pipeline secuencial de agentes en fases:
333
+ * review → implement → verify.
334
+ *
335
+ * - review: architecture-agent o security-agent si hay dominios de alto riesgo
336
+ * - implement: el agente con mayor score en selectedAgents
337
+ * - verify: qa-engineer siempre al final si hay implementación
338
+ */
339
+ buildAgentPipeline(selectedAgents, task) {
340
+ if (selectedAgents.length === 0)
341
+ return undefined;
342
+ const pipeline = [];
343
+ // Fase review: architecture o security según riesgo
344
+ const isHighRisk = task.riskLevel === 'high' || task.riskLevel === 'critical';
345
+ const hasSecurityDomain = task.domains.includes('security');
346
+ const hasArchitectureDomain = task.domains.includes('architecture') || task.domains.includes('resilience');
347
+ if (task.requiresSecurityReview || (isHighRisk && hasSecurityDomain)) {
348
+ pipeline.push({
349
+ phase: 'review',
350
+ agentId: 'security',
351
+ purpose: 'Review security implications',
352
+ optional: false,
353
+ });
354
+ }
355
+ if (task.requiresArchitectureReview || (isHighRisk && hasArchitectureDomain)) {
356
+ pipeline.push({
357
+ phase: 'review',
358
+ agentId: 'architecture',
359
+ purpose: 'Review architecture for high-risk change',
360
+ optional: false,
361
+ });
362
+ }
363
+ // Fase implement: el mejor agente seleccionado
364
+ const topAgent = selectedAgents[0];
365
+ if (topAgent && topAgent.agentId !== 'general') {
366
+ pipeline.push({
367
+ phase: 'implement',
368
+ agentId: topAgent.agentId,
369
+ purpose: topAgent.reason,
370
+ optional: false,
371
+ });
372
+ }
373
+ // Fase verify: QA siempre al final si hay implementación
374
+ const hasImplementPhase = pipeline.some(p => p.phase === 'implement');
375
+ if (hasImplementPhase && task.requiresQaApproval) {
376
+ pipeline.push({
377
+ phase: 'verify',
378
+ agentId: 'qa-engineer',
379
+ purpose: 'Verify implementation quality and best practices',
380
+ optional: false,
381
+ });
382
+ }
383
+ return pipeline.length > 0 ? pipeline : undefined;
384
+ }
385
+ /**
386
+ * Determina si el commit está permitido según políticas y gates.
387
+ *
388
+ * Reglas:
389
+ * - Si commitGate está desactivado → siempre permitido
390
+ * - Si ya está en commit_allowed → permitido
391
+ * - Si requiere gates (QA, security, architecture) y no están resueltos → bloqueado
392
+ * - Si no requiere gates → permitido (se puede commitear directamente)
393
+ */
394
+ isCommitAllowed(task, policyResult) {
395
+ if (!this.config.features.commitGate)
396
+ return true;
397
+ // Si ya está en commit_allowed → permitido
398
+ if (task.status === 'commit_allowed')
399
+ return true;
400
+ // Si requiere gates específicos y no están resueltos → bloqueado
401
+ if (task.requiresQaApproval && task.status !== 'approved' && task.status !== 'qa_review')
402
+ return false;
403
+ if (task.requiresSecurityReview && task.status !== 'approved' && task.status !== 'security_review')
404
+ return false;
405
+ if (task.requiresArchitectureReview && task.status !== 'approved' && task.status !== 'design_review')
406
+ return false;
407
+ // Si no requiere gates → permitido (tarea simple)
408
+ if (!task.requiresQaApproval && !task.requiresSecurityReview && !task.requiresArchitectureReview) {
409
+ return true;
410
+ }
411
+ return false;
412
+ }
413
+ /**
414
+ * @description Obtiene los estados destino válidos desde el estado actual.
415
+ */
416
+ getAvailableTransitions(status) {
417
+ return this.fsm.getAvailableTransitions(status);
418
+ }
419
+ /**
420
+ * @description Calcula la ruta crítica desde el estado actual hasta commit_allowed.
421
+ */
422
+ getCriticalPath(task) {
423
+ return this.fsm.getCriticalPath(task);
424
+ }
425
+ /**
426
+ * @description Obtiene la instancia del FSM.
427
+ */
428
+ getFSM() {
429
+ return this.fsm;
430
+ }
431
+ /**
432
+ * @description Actualiza la configuración en runtime.
433
+ */
434
+ updateConfig(config) {
435
+ this.config = { ...this.config, ...config };
436
+ }
437
+ /**
438
+ * @description Actualiza las reglas personalizadas en runtime.
439
+ */
440
+ updateRules(rules) {
441
+ this.customRules = rules;
442
+ }
443
+ /**
444
+ * @description Actualiza la capability matrix en runtime.
445
+ */
446
+ updateCapabilityMatrix(matrix) {
447
+ this.capabilityMatrix = matrix;
448
+ }
449
+ /**
450
+ * @description Carga las policyRules auto-promovidas desde manifest.yaml.
451
+ * Estas son generadas por el PolicyPromoter del Reflection Engine y se
452
+ * fusionan con las customRules en cada orchestrate().
453
+ */
454
+ async loadManifestPolicyRules() {
455
+ try {
456
+ const home = process.env.USERPROFILE ?? process.env.HOME ?? os.homedir();
457
+ const manifestPath = path.join(home, `.${this.appName}`, 'manifest.yaml');
458
+ const content = await fs.promises.readFile(manifestPath, 'utf-8');
459
+ const manifest = yaml.parse(content);
460
+ const rules = manifest?.policyRules ?? [];
461
+ return rules
462
+ .filter(r => r.if && r.then)
463
+ .map(r => ({ if: r.if, then: r.then }));
464
+ }
465
+ catch {
466
+ return [];
467
+ }
468
+ }
469
+ }
470
+ exports.Orchestrator = Orchestrator;
471
+ //# sourceMappingURL=orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/orchestration/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @description Policy Engine — Motor de reglas para el orquestador.
3
+ *
4
+ * Evalúa reglas contra un TaskContext y determina:
5
+ * - Qué agentes deben participar obligatoriamente
6
+ * - Qué gates son obligatorios
7
+ * - Qué skills deben ejecutarse
8
+ *
9
+ * Las reglas se cargan desde ~/.deepseek-code/policy-rules.yaml
10
+ * y se complementan con reglas built-in por defecto.
11
+ */
12
+ import { TaskContext } from './task-context';
13
+ import { PolicyRule } from './types';
14
+ export interface PolicyEngineResult {
15
+ /** Agentes que deben incluirse */
16
+ mustInclude: string[];
17
+ /** Gates obligatorios */
18
+ requiredGates: Array<'qa' | 'security' | 'architecture'>;
19
+ /** Skills obligatorios */
20
+ mustExecute: string[];
21
+ /** Reglas que se activaron */
22
+ appliedRules: Array<{
23
+ rule: string;
24
+ reason: string;
25
+ }>;
26
+ }
27
+ /**
28
+ * @description Evalúa todas las reglas contra un TaskContext.
29
+ *
30
+ * Las reglas personalizadas (de ~/.deepseek-code/policy-rules.yaml)
31
+ * tienen prioridad sobre las built-in. Si una regla personalizada
32
+ * coincide, se aplica en lugar de la built-in equivalente.
33
+ *
34
+ * @param task - TaskContext enriquecido con actionType, domains, riskLevel
35
+ * @param customRules - Reglas personalizadas (opcional, desde config)
36
+ * @returns Políticas aplicadas: agentes, gates y skills obligatorios
37
+ */
38
+ export declare function evaluatePolicies(task: TaskContext, customRules?: PolicyRule[], userInput?: string): PolicyEngineResult;
39
+ /**
40
+ * @description Aplica políticas a un TaskContext y produce un resultado completo.
41
+ * Es el entry point principal para el orquestador.
42
+ */
43
+ export declare function applyPolicies(task: TaskContext, customRules?: PolicyRule[], userInput?: string): {
44
+ task: TaskContext;
45
+ result: PolicyEngineResult;
46
+ };
47
+ //# sourceMappingURL=policy-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-engine.d.ts","sourceRoot":"","sources":["../../src/orchestration/policy-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAyB,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAsD,MAAM,SAAS,CAAC;AAwGzF,MAAM,WAAW,kBAAkB;IACjC,kCAAkC;IAClC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,yBAAyB;IACzB,aAAa,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,cAAc,CAAC,CAAC;IACzD,0BAA0B;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,8BAA8B;IAC9B,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,WAAW,CAAC,EAAE,UAAU,EAAE,EAC1B,SAAS,SAAK,GACb,kBAAkB,CAsDpB;AAoFD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,WAAW,CAAC,EAAE,UAAU,EAAE,EAC1B,SAAS,SAAK,GACb;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAcnD"}