@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,15 @@
1
+ export { Orchestrator } from './orchestrator';
2
+ export type { LLMChatClient } from './intent-detector';
3
+ export { detectIntent, enrichTaskWithIntent } from './intent-detector';
4
+ export { detectDomains, enrichTaskWithDomains } from './domain-detector';
5
+ export { calculateRisk, enrichTaskWithRisk } from './risk-scorer';
6
+ export { evaluatePolicies, applyPolicies } from './policy-engine';
7
+ export { TaskFSM } from './fsm';
8
+ export { AuditReporter } from './audit-reporter';
9
+ export type { OrchestratorConfig, OrchestrationResult, AgentCapability, CapabilityMatrix, AgentPipelinePhase, AgentPipelinePhaseType, } from './types';
10
+ export { defaultOrchestratorConfig } from './types';
11
+ export type { TaskContext, ActionType, RiskLevel, RiskFactors, TaskStatus, CommitPlan, ConventionalCommitType, DelegationRequest, DelegationResult, } from './task-context';
12
+ export { createTaskContext, touchTask, transitionTask, detectScopeFromFiles, } from './task-context';
13
+ export type { FSMTransitionResult } from './fsm';
14
+ export type { GateVeredict } from './audit';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,YAAY,EACR,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD,YAAY,EACR,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,oBAAoB,GACvB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.detectScopeFromFiles = exports.transitionTask = exports.touchTask = exports.createTaskContext = exports.defaultOrchestratorConfig = exports.AuditReporter = exports.TaskFSM = exports.applyPolicies = exports.evaluatePolicies = exports.enrichTaskWithRisk = exports.calculateRisk = exports.enrichTaskWithDomains = exports.detectDomains = exports.enrichTaskWithIntent = exports.detectIntent = exports.Orchestrator = void 0;
4
+ // Main orchestrator
5
+ var orchestrator_1 = require("./orchestrator");
6
+ Object.defineProperty(exports, "Orchestrator", { enumerable: true, get: function () { return orchestrator_1.Orchestrator; } });
7
+ // Pipeline components
8
+ var intent_detector_1 = require("./intent-detector");
9
+ Object.defineProperty(exports, "detectIntent", { enumerable: true, get: function () { return intent_detector_1.detectIntent; } });
10
+ Object.defineProperty(exports, "enrichTaskWithIntent", { enumerable: true, get: function () { return intent_detector_1.enrichTaskWithIntent; } });
11
+ var domain_detector_1 = require("./domain-detector");
12
+ Object.defineProperty(exports, "detectDomains", { enumerable: true, get: function () { return domain_detector_1.detectDomains; } });
13
+ Object.defineProperty(exports, "enrichTaskWithDomains", { enumerable: true, get: function () { return domain_detector_1.enrichTaskWithDomains; } });
14
+ var risk_scorer_1 = require("./risk-scorer");
15
+ Object.defineProperty(exports, "calculateRisk", { enumerable: true, get: function () { return risk_scorer_1.calculateRisk; } });
16
+ Object.defineProperty(exports, "enrichTaskWithRisk", { enumerable: true, get: function () { return risk_scorer_1.enrichTaskWithRisk; } });
17
+ var policy_engine_1 = require("./policy-engine");
18
+ Object.defineProperty(exports, "evaluatePolicies", { enumerable: true, get: function () { return policy_engine_1.evaluatePolicies; } });
19
+ Object.defineProperty(exports, "applyPolicies", { enumerable: true, get: function () { return policy_engine_1.applyPolicies; } });
20
+ var fsm_1 = require("./fsm");
21
+ Object.defineProperty(exports, "TaskFSM", { enumerable: true, get: function () { return fsm_1.TaskFSM; } });
22
+ // Audit
23
+ var audit_reporter_1 = require("./audit-reporter");
24
+ Object.defineProperty(exports, "AuditReporter", { enumerable: true, get: function () { return audit_reporter_1.AuditReporter; } });
25
+ var types_1 = require("./types");
26
+ Object.defineProperty(exports, "defaultOrchestratorConfig", { enumerable: true, get: function () { return types_1.defaultOrchestratorConfig; } });
27
+ var task_context_1 = require("./task-context");
28
+ Object.defineProperty(exports, "createTaskContext", { enumerable: true, get: function () { return task_context_1.createTaskContext; } });
29
+ Object.defineProperty(exports, "touchTask", { enumerable: true, get: function () { return task_context_1.touchTask; } });
30
+ Object.defineProperty(exports, "transitionTask", { enumerable: true, get: function () { return task_context_1.transitionTask; } });
31
+ Object.defineProperty(exports, "detectScopeFromFiles", { enumerable: true, get: function () { return task_context_1.detectScopeFromFiles; } });
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":";;;AAAA,oBAAoB;AACpB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAGrB,sBAAsB;AACtB,qDAAuE;AAA9D,+GAAA,YAAY,OAAA;AAAE,uHAAA,oBAAoB,OAAA;AAC3C,qDAAyE;AAAhE,gHAAA,aAAa,OAAA;AAAE,wHAAA,qBAAqB,OAAA;AAC7C,6CAAkE;AAAzD,4GAAA,aAAa,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAC1C,iDAAkE;AAAzD,iHAAA,gBAAgB,OAAA;AAAE,8GAAA,aAAa,OAAA;AACxC,6BAAgC;AAAvB,8FAAA,OAAO,OAAA;AAEhB,QAAQ;AACR,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAWtB,iCAAoD;AAA3C,kHAAA,yBAAyB,OAAA;AAalC,+CAKwB;AAJpB,iHAAA,iBAAiB,OAAA;AACjB,yGAAA,SAAS,OAAA;AACT,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @description Intent Detector — Clasifica el input del usuario en un ActionType.
3
+ *
4
+ * Usa un enfoque de dos niveles:
5
+ * 1. Keyword scoring rápido (síncrono, sin LLM)
6
+ * 2. Clasificación semántica vía LLM cuando hay ambigüedad
7
+ *
8
+ * El detector transforma lenguaje natural ambiguo ("necesito mejorar la
9
+ * consistencia entre órdenes y pagos") en una acción formal como
10
+ * 'design' o 'implementation'.
11
+ */
12
+ import { ActionType, TaskContext } from './task-context';
13
+ export interface LLMChatClient {
14
+ chat(messages: Array<{
15
+ role: string;
16
+ content: string;
17
+ }>, tools?: unknown, temperature?: number): Promise<{
18
+ content: string | null;
19
+ }>;
20
+ }
21
+ export interface IntentDetectionResult {
22
+ actionType: ActionType;
23
+ confidence: number;
24
+ scores: Record<ActionType, number>;
25
+ method: 'keyword' | 'llm';
26
+ }
27
+ /**
28
+ * @description Detecta el tipo de acción a partir del input del usuario.
29
+ *
30
+ * Primero intenta clasificar con keywords (rápido, sin LLM).
31
+ * Si hay ambigüedad (múltiples acciones con score similar), usa LLM.
32
+ *
33
+ * @param input - Texto del usuario
34
+ * @param client - Cliente DeepSeek (opcional, solo para fallback LLM)
35
+ * @returns Resultado con el actionType detectado y nivel de confianza
36
+ */
37
+ export declare function detectIntent(input: string, client?: LLMChatClient): Promise<IntentDetectionResult>;
38
+ /**
39
+ * @description Enriquce un TaskContext con el actionType detectado.
40
+ * Es el entry point principal para el orquestador.
41
+ */
42
+ export declare function enrichTaskWithIntent(task: TaskContext, client?: LLMChatClient): Promise<TaskContext>;
43
+ //# sourceMappingURL=intent-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-detector.d.ts","sourceRoot":"","sources":["../../src/orchestration/intent-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY5E,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACxI;AAwGD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,qBAAqB,CAAC,CA4DhC;AAuED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,WAAW,EACjB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC,CAQtB"}
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ /**
3
+ * @description Intent Detector — Clasifica el input del usuario en un ActionType.
4
+ *
5
+ * Usa un enfoque de dos niveles:
6
+ * 1. Keyword scoring rápido (síncrono, sin LLM)
7
+ * 2. Clasificación semántica vía LLM cuando hay ambigüedad
8
+ *
9
+ * El detector transforma lenguaje natural ambiguo ("necesito mejorar la
10
+ * consistencia entre órdenes y pagos") en una acción formal como
11
+ * 'design' o 'implementation'.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.detectIntent = detectIntent;
15
+ exports.enrichTaskWithIntent = enrichTaskWithIntent;
16
+ const retry_1 = require("@backendkit-labs/retry");
17
+ const keyword_match_1 = require("./keyword-match");
18
+ const LLM_RETRY = {
19
+ maxAttempts: 3,
20
+ backoff: { type: 'exponential', baseDelay: 500, maxDelay: 8_000, jitter: 'full' },
21
+ retryIf: (e) => e.type === 'network' || (e.type === 'http' && (e.status ?? 0) >= 500),
22
+ abortIf: (e) => e.type === 'http' && [401, 403].includes(e.status ?? 0),
23
+ };
24
+ const INTENT_KEYWORDS = {
25
+ design: [
26
+ { words: ['diseña', 'diseñar', 'diseño', 'planifica', 'planificar', 'planea'], weight: 3 },
27
+ { words: ['arquitectura', 'arquitectónico', 'estructura'], weight: 3 },
28
+ { words: ['diagrama', 'c4', 'adr'], weight: 3 },
29
+ { words: ['cómo debería', 'cómo implementar', 'qué patrón'], weight: 2 },
30
+ { words: ['trade-off', 'comparar', 'alternativa'], weight: 2 },
31
+ { words: ['bounded context', 'contexto del dominio', 'ddd'], weight: 3 },
32
+ { words: ['event sourcing', 'cqrs', 'saga', 'outbox'], weight: 3 },
33
+ ],
34
+ implementation: [
35
+ { words: ['implementa', 'implementar', 'crea', 'crear', 'construye'], weight: 3 },
36
+ { words: ['escribe', 'escribir', 'codifica', 'codificar'], weight: 2 },
37
+ { words: ['endpoint', 'api', 'controlador', 'servicio'], weight: 2 },
38
+ { words: ['componente', 'hook', 'useEffect', 'useState'], weight: 2 },
39
+ { words: ['clase', 'interfaz', 'función', 'método'], weight: 1 },
40
+ { words: ['agrega', 'agregar', 'añade', 'añadir'], weight: 2 },
41
+ { words: ['configura', 'configurar'], weight: 1 },
42
+ ],
43
+ review: [
44
+ { words: ['revisa', 'revisar', 'revisión', 'review'], weight: 3 },
45
+ { words: ['analiza', 'analizar', 'análisis'], weight: 2 },
46
+ { words: ['código existente', 'código actual'], weight: 2 },
47
+ { words: ['encuentra problemas', 'detecta errores'], weight: 2 },
48
+ { words: ['code review', 'pull request', 'pr'], weight: 3 },
49
+ { words: ['retroalimentación', 'feedback'], weight: 1 },
50
+ ],
51
+ security_audit: [
52
+ { words: ['audita', 'auditar', 'auditoría', 'auditoria'], weight: 3 },
53
+ { words: ['seguridad', 'vulnerabilidad', 'owasp'], weight: 3 },
54
+ { words: ['penetración', 'pentest', 'hacking'], weight: 3 },
55
+ { words: ['jwt', 'token', 'autenticación', 'autenticacion'], weight: 2 },
56
+ { words: ['cifrado', 'encriptación', 'hash', 'bcrypt'], weight: 2 },
57
+ { words: ['xss', 'csrf', 'inyección', 'inyeccion', 'sql injection'], weight: 3 },
58
+ { words: ['hardening', 'secrets', 'secretos'], weight: 2 },
59
+ ],
60
+ documentation: [
61
+ { words: ['documenta', 'documentar', 'documentación'], weight: 3 },
62
+ { words: ['readme', 'readme.md', 'README'], weight: 3 },
63
+ { words: ['comentario', 'comentarios', 'jsdoc'], weight: 2 },
64
+ { words: ['manual', 'guía', 'tutorial', 'wiki'], weight: 2 },
65
+ { words: ['swagger', 'openapi', 'api doc'], weight: 2 },
66
+ { words: ['changelog', 'release notes'], weight: 2 },
67
+ ],
68
+ refactor: [
69
+ { words: ['refactoriza', 'refactorizar', 'refactor'], weight: 3 },
70
+ { words: ['mejora', 'mejorar', 'optimiza', 'optimizar'], weight: 2 },
71
+ { words: ['limpia', 'limpiar', 'clean code'], weight: 2 },
72
+ { words: ['deuda técnica', 'technical debt'], weight: 3 },
73
+ { words: ['simplifica', 'simplificar'], weight: 2 },
74
+ { words: ['extrae', 'extraer', 'separar'], weight: 2 },
75
+ ],
76
+ bugfix: [
77
+ { words: ['corrige', 'corregir', 'corrección', 'correccion'], weight: 3 },
78
+ { words: ['bug', 'error', 'fallo', 'issue'], weight: 3 },
79
+ { words: ['arregla', 'arreglar', 'fix', 'hotfix'], weight: 3 },
80
+ { words: ['no funciona', 'está roto', 'falla'], weight: 3 },
81
+ { words: ['excepción', 'exception', 'stack trace'], weight: 2 },
82
+ { words: ['null pointer', 'undefined', 'crash'], weight: 2 },
83
+ ],
84
+ test: [
85
+ { words: ['test', 'tests', 'testing', 'prueba', 'pruebas'], weight: 3 },
86
+ { words: ['unitario', 'unitarios', 'unit test', 'integración', 'integration'], weight: 3 },
87
+ { words: ['cobertura', 'coverage', 'tdd', 'bdd'], weight: 3 },
88
+ { words: ['jest', 'vitest', 'playwright', 'cypress'], weight: 2 },
89
+ { words: ['mock', 'stub', 'spy', 'fixture'], weight: 2 },
90
+ { words: ['e2e', 'end to end', 'contrato', 'contract'], weight: 2 },
91
+ ],
92
+ research: [
93
+ { words: ['investiga', 'investigar', 'investigación'], weight: 3 },
94
+ { words: ['explora', 'explorar', 'averigua'], weight: 2 },
95
+ { words: ['qué es', 'cómo funciona', 'diferencia entre'], weight: 2 },
96
+ { words: ['comparativa', 'comparación'], weight: 2 },
97
+ { words: ['encuentra', 'busca', 'búsqueda'], weight: 1 },
98
+ ],
99
+ optimize: [
100
+ { words: ['optimiza', 'optimizar', 'optimización'], weight: 3 },
101
+ { words: ['rendimiento', 'performance', 'lento', 'lentitud'], weight: 3 },
102
+ { words: ['cuello de botella', 'bottleneck'], weight: 3 },
103
+ { words: ['caché', 'cache', 'redis', 'memcached'], weight: 2 },
104
+ { words: ['consulta lenta', 'slow query', 'índice', 'indice'], weight: 2 },
105
+ { words: ['latencia', 'throughput', 'concurrencia'], weight: 2 },
106
+ ],
107
+ deploy: [
108
+ { words: ['despliega', 'desplegar', 'deploy'], weight: 3 },
109
+ { words: ['docker', 'kubernetes', 'k8s', 'contenedor'], weight: 2 },
110
+ { words: ['ci/cd', 'pipeline', 'github actions'], weight: 2 },
111
+ { words: ['infraestructura', 'terraform', 'cloud'], weight: 2 },
112
+ { words: ['release', 'versión', 'versión'], weight: 2 },
113
+ ],
114
+ unknown: [],
115
+ };
116
+ /**
117
+ * @description Detecta el tipo de acción a partir del input del usuario.
118
+ *
119
+ * Primero intenta clasificar con keywords (rápido, sin LLM).
120
+ * Si hay ambigüedad (múltiples acciones con score similar), usa LLM.
121
+ *
122
+ * @param input - Texto del usuario
123
+ * @param client - Cliente DeepSeek (opcional, solo para fallback LLM)
124
+ * @returns Resultado con el actionType detectado y nivel de confianza
125
+ */
126
+ async function detectIntent(input, client) {
127
+ const lower = input.toLowerCase();
128
+ const scores = computeKeywordScores(lower);
129
+ // Encontrar la mejor acción
130
+ const sorted = Object.entries(scores)
131
+ .filter(([action]) => action !== 'unknown')
132
+ .sort(([, a], [, b]) => b - a);
133
+ const best = sorted[0];
134
+ const second = sorted[1];
135
+ // Si no hay señal clara
136
+ if (!best || best[1] === 0) {
137
+ // Intentar con LLM antes de rendirse
138
+ if (client) {
139
+ try {
140
+ const llmResult = await classifyWithLLM(input, client);
141
+ return llmResult;
142
+ }
143
+ catch {
144
+ return { actionType: 'implementation', confidence: 0.1, scores, method: 'keyword' };
145
+ }
146
+ }
147
+ return { actionType: 'implementation', confidence: 0.1, scores, method: 'keyword' };
148
+ }
149
+ // Si hay un ganador claro (margen >= 2 puntos)
150
+ const margin = best[1] - (second?.[1] ?? 0);
151
+ if (margin >= 2) {
152
+ return {
153
+ actionType: best[0],
154
+ confidence: Math.min(1, best[1] / 15),
155
+ scores,
156
+ method: 'keyword',
157
+ };
158
+ }
159
+ // Ambigüedad: usar LLM si está disponible
160
+ if (client) {
161
+ try {
162
+ const llmResult = await classifyWithLLM(input, client);
163
+ return llmResult;
164
+ }
165
+ catch {
166
+ // Fallback: usar el mejor score aunque sea ambiguo
167
+ return {
168
+ actionType: best[0],
169
+ confidence: 0.5,
170
+ scores,
171
+ method: 'keyword',
172
+ };
173
+ }
174
+ }
175
+ // Sin LLM: devolver el mejor con confianza baja
176
+ return {
177
+ actionType: best[0],
178
+ confidence: 0.4,
179
+ scores,
180
+ method: 'keyword',
181
+ };
182
+ }
183
+ /**
184
+ * Clasifica el intent usando el LLM cuando hay ambigüedad.
185
+ */
186
+ async function classifyWithLLM(input, client) {
187
+ const actions = Object.keys(INTENT_KEYWORDS)
188
+ .filter(a => a !== 'unknown')
189
+ .join(', ');
190
+ const prompt = `Clasifica la siguiente solicitud en UNO de estos tipos de acción: ${actions}.
191
+
192
+ Responde ÚNICAMENTE con JSON: {"action":"<tipo>"}
193
+
194
+ Solicitud: "${input.slice(0, 500)}"`;
195
+ const result = await (0, retry_1.retry)(() => client.chat([{ role: 'user', content: prompt }], undefined, 0.0), LLM_RETRY);
196
+ const content = result.ok ? (result.value.content ?? '') : '';
197
+ const match = content.match(/"action"\s*:\s*"([\w-]+)"/);
198
+ const actionType = match?.[1] ?? 'unknown';
199
+ // Recalcular scores con el LLM como desempate
200
+ const scores = computeKeywordScores(input.toLowerCase());
201
+ if (actionType !== 'unknown') {
202
+ scores[actionType] = (scores[actionType] ?? 0) + 3; // bonus LLM
203
+ }
204
+ return {
205
+ actionType,
206
+ confidence: 0.7,
207
+ scores,
208
+ method: 'llm',
209
+ };
210
+ }
211
+ /**
212
+ * Computa scores basados en keywords para cada acción.
213
+ * Usa word boundaries para palabras simples y coincidencia exacta para frases.
214
+ *
215
+ * El score de cada accion se capea en MAX_KEYWORD_SCORE para que textos largos
216
+ * con muchas keywords no acumulen valores arbitrariamente altos que opacan el
217
+ * margen de 2 puntos usado en detectIntent() para elegir ganador (H-006).
218
+ * El cap coincide con el denominador de la normalizacion de confianza (/ 15).
219
+ */
220
+ const MAX_KEYWORD_SCORE = 15;
221
+ function computeKeywordScores(lower) {
222
+ const scores = {};
223
+ for (const [action, keywords] of Object.entries(INTENT_KEYWORDS)) {
224
+ let total = 0;
225
+ for (const kw of keywords) {
226
+ for (const word of kw.words) {
227
+ if ((0, keyword_match_1.matchesKeyword)(lower, word)) {
228
+ total += kw.weight;
229
+ }
230
+ }
231
+ }
232
+ scores[action] = Math.min(total, MAX_KEYWORD_SCORE);
233
+ }
234
+ return scores;
235
+ }
236
+ /**
237
+ * @description Enriquce un TaskContext con el actionType detectado.
238
+ * Es el entry point principal para el orquestador.
239
+ */
240
+ async function enrichTaskWithIntent(task, client) {
241
+ const result = await detectIntent(task.rawPrompt, client);
242
+ return {
243
+ ...task,
244
+ actionType: result.actionType,
245
+ status: 'classified',
246
+ updatedAt: new Date(),
247
+ };
248
+ }
249
+ //# sourceMappingURL=intent-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-detector.js","sourceRoot":"","sources":["../../src/orchestration/intent-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @description Coincidencia de keywords compartida por los detectores del orquestador
3
+ * (intent-detector, risk-scorer, domain-detector).
4
+ *
5
+ * Antes esta funcion estaba duplicada byte-a-byte en tres modulos, con riesgo de
6
+ * deriva si uno cambiaba sin los otros (H-005). Es la unica fuente de verdad.
7
+ */
8
+ /**
9
+ * Verifica si un keyword aparece en el texto.
10
+ * - Palabras simples: con word boundary (`\b`), para evitar coincidencias parciales.
11
+ * - Frases (con espacios): como substring exacto, en minusculas.
12
+ *
13
+ * @param text Texto donde buscar (se compara case-insensitive).
14
+ * @param keyword Palabra o frase a buscar.
15
+ */
16
+ export declare function matchesKeyword(text: string, keyword: string): boolean;
17
+ //# sourceMappingURL=keyword-match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyword-match.d.ts","sourceRoot":"","sources":["../../src/orchestration/keyword-match.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAMrE"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * @description Coincidencia de keywords compartida por los detectores del orquestador
4
+ * (intent-detector, risk-scorer, domain-detector).
5
+ *
6
+ * Antes esta funcion estaba duplicada byte-a-byte en tres modulos, con riesgo de
7
+ * deriva si uno cambiaba sin los otros (H-005). Es la unica fuente de verdad.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.matchesKeyword = matchesKeyword;
11
+ /**
12
+ * Verifica si un keyword aparece en el texto.
13
+ * - Palabras simples: con word boundary (`\b`), para evitar coincidencias parciales.
14
+ * - Frases (con espacios): como substring exacto, en minusculas.
15
+ *
16
+ * @param text Texto donde buscar (se compara case-insensitive).
17
+ * @param keyword Palabra o frase a buscar.
18
+ */
19
+ function matchesKeyword(text, keyword) {
20
+ if (!keyword.includes(' ')) {
21
+ const escaped = keyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
22
+ return new RegExp(`\\b${escaped}\\b`, 'i').test(text);
23
+ }
24
+ return text.includes(keyword.toLowerCase());
25
+ }
26
+ //# sourceMappingURL=keyword-match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyword-match.js","sourceRoot":"","sources":["../../src/orchestration/keyword-match.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAUH,wCAMC;AAdD;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,IAAY,EAAE,OAAe;IAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC/D,OAAO,IAAI,MAAM,CAAC,MAAM,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { LLMProvider } from '../types';
2
+ import type { LLMChatClient } from './intent-detector';
3
+ /**
4
+ * Adapts a streaming LLMProvider to the simpler LLMChatClient interface
5
+ * required by Orchestrator (intent detection) and QAService (inline review).
6
+ *
7
+ * Accumulates the streaming response into a single string so the
8
+ * Orchestrator and QAService can work with synchronous-style completions.
9
+ */
10
+ export declare function adaptProviderToLLMClient(provider: LLMProvider): LLMChatClient;
11
+ //# sourceMappingURL=llm-client-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-client-adapter.d.ts","sourceRoot":"","sources":["../../src/orchestration/llm-client-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,GAAG,aAAa,CAuB7E"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adaptProviderToLLMClient = adaptProviderToLLMClient;
4
+ /**
5
+ * Adapts a streaming LLMProvider to the simpler LLMChatClient interface
6
+ * required by Orchestrator (intent detection) and QAService (inline review).
7
+ *
8
+ * Accumulates the streaming response into a single string so the
9
+ * Orchestrator and QAService can work with synchronous-style completions.
10
+ */
11
+ function adaptProviderToLLMClient(provider) {
12
+ return {
13
+ async chat(messages, _tools, _temperature) {
14
+ let accumulated = '';
15
+ let failure;
16
+ await provider.chat(messages.map(m => ({
17
+ role: m.role,
18
+ content: m.content,
19
+ })), [], {
20
+ onChunk: (delta) => { accumulated += delta; },
21
+ onDone: () => { },
22
+ onError: (err) => { failure = err; },
23
+ });
24
+ if (failure)
25
+ throw failure;
26
+ return { content: accumulated || null };
27
+ },
28
+ };
29
+ }
30
+ //# sourceMappingURL=llm-client-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-client-adapter.js","sourceRoot":"","sources":["../../src/orchestration/llm-client-adapter.ts"],"names":[],"mappings":";;AAUA,4DAuBC;AA9BD;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,QAAqB;IAC1D,OAAO;QACH,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY;YACrC,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,OAA0B,CAAC;YAE/B,MAAM,QAAQ,CAAC,IAAI,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACf,IAAI,EAAE,CAAC,CAAC,IAA0B;gBAClC,OAAO,EAAE,CAAC,CAAC,OAAO;aACrB,CAAC,CAAC,EACH,EAAE,EACF;gBACI,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC;gBAC7C,MAAM,EAAE,GAAG,EAAE,GAAyB,CAAC;gBACvC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;aACvC,CACJ,CAAC;YAEF,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,OAAO,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI,EAAE,CAAC;QAC5C,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * @description Orquestador principal — Pipeline completo de clasificación.
3
+ *
4
+ * Integra: Intent Detection → Domain Detection → Risk Scoring → Policy Engine
5
+ *
6
+ * Cada etapa enriquece el TaskContext progresivamente.
7
+ * El resultado final contiene los agentes seleccionados, políticas aplicadas
8
+ * y gates requeridos para proceder.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const orchestrator = new Orchestrator(client, config);
13
+ * const result = await orchestrator.orchestrate('Agregar circuit breaker para ServiceNow');
14
+ * // result.task.actionType === 'implementation'
15
+ * // result.task.domains === ['resilience', 'backend']
16
+ * // result.task.riskLevel === 'high'
17
+ * // result.selectedAgents === ['architecture', 'backend-agent', 'qa-engineer']
18
+ * ```
19
+ */
20
+ import { TaskContext, TaskStatus } from './task-context';
21
+ import { LLMChatClient } from './intent-detector';
22
+ import { TaskFSM, FSMTransitionResult } from './fsm';
23
+ import { OrchestratorConfig, OrchestrationResult, PolicyRule, CapabilityMatrix } from './types';
24
+ import { AuditReporter } from './audit-reporter';
25
+ export type { OrchestratorConfig, OrchestrationResult, PolicyRule, CapabilityMatrix };
26
+ export { defaultOrchestratorConfig } from './types';
27
+ export { detectIntent, enrichTaskWithIntent } from './intent-detector';
28
+ export { detectDomains, enrichTaskWithDomains } from './domain-detector';
29
+ export { calculateRisk, enrichTaskWithRisk } from './risk-scorer';
30
+ export { evaluatePolicies, applyPolicies } from './policy-engine';
31
+ export { TaskFSM } from './fsm';
32
+ export type { FSMTransitionResult } from './fsm';
33
+ export { createTaskContext } from './task-context';
34
+ export type { TaskContext } from './task-context';
35
+ export { AuditReporter } from './audit-reporter';
36
+ export type { AuditFinding, GateVeredict } from './audit';
37
+ /**
38
+ * @description Orquestador central del sistema multi-agente.
39
+ *
40
+ * Procesa el input del usuario a través de un pipeline de 4 etapas:
41
+ * 1. Intent Detection — clasifica la acción (design, implement, etc.)
42
+ * 2. Domain Detection — identifica bounded contexts
43
+ * 3. Risk Scoring — calcula nivel de riesgo técnico
44
+ * 4. Policy Engine — aplica reglas y determina agentes/gates
45
+ *
46
+ * El resultado es un OrchestrationResult que el AgentLoop puede usar
47
+ * para seleccionar agentes, aplicar gates y controlar el flujo.
48
+ *
49
+ * **Auditoría integrada:**
50
+ * Cada vez que `orchestrate()` se ejecuta, el AuditReporter registra
51
+ * automáticamente un gate de orquestación con los hallazgos detectados.
52
+ *
53
+ * Los gates de QA, security y architecture se registran desde el AgentLoop
54
+ * usando `getAuditReporter()`.
55
+ */
56
+ export declare class Orchestrator {
57
+ private client?;
58
+ private config;
59
+ private customRules?;
60
+ private capabilityMatrix?;
61
+ private fsm;
62
+ private auditReporter;
63
+ private appName;
64
+ constructor(options?: {
65
+ client?: LLMChatClient;
66
+ config?: OrchestratorConfig;
67
+ customRules?: PolicyRule[];
68
+ capabilityMatrix?: CapabilityMatrix;
69
+ /** Ruta raíz del proyecto para los informes de auditoría (default: process.cwd()) */
70
+ projectRoot?: string;
71
+ /** App name para derivar ~/.{appName}/projects/ (default: 'bk-agent') */
72
+ appName?: string;
73
+ });
74
+ /**
75
+ * @description Procesa el input del usuario a través del pipeline completo.
76
+ *
77
+ * @param input - Texto del usuario
78
+ * @returns Resultado completo de la orquestación
79
+ */
80
+ orchestrate(input: string): Promise<OrchestrationResult>;
81
+ /**
82
+ * @description Obtiene la instancia del AuditReporter para registrar gates
83
+ * desde el AgentLoop u otros componentes.
84
+ */
85
+ getAuditReporter(): AuditReporter;
86
+ /**
87
+ * @description Intenta transicionar el estado de la tarea en el FSM.
88
+ * Expuesto para que el QA orchestrator pueda avanzar estados desde el loop.
89
+ */
90
+ transitionTask(task: TaskContext, to: TaskStatus): FSMTransitionResult;
91
+ /**
92
+ * @description Registra automáticamente un gate de orquestación después
93
+ * de ejecutar el pipeline completo.
94
+ */
95
+ private recordOrchestrationGate;
96
+ /**
97
+ * Selecciona agentes combinando:
98
+ * - Políticas obligatorias (mustInclude)
99
+ * - Capability matrix (dominios)
100
+ * - Pesos dinámicos
101
+ */
102
+ private selectAgents;
103
+ /**
104
+ * Construye el pipeline secuencial de agentes en fases:
105
+ * review → implement → verify.
106
+ *
107
+ * - review: architecture-agent o security-agent si hay dominios de alto riesgo
108
+ * - implement: el agente con mayor score en selectedAgents
109
+ * - verify: qa-engineer siempre al final si hay implementación
110
+ */
111
+ private buildAgentPipeline;
112
+ /**
113
+ * Determina si el commit está permitido según políticas y gates.
114
+ *
115
+ * Reglas:
116
+ * - Si commitGate está desactivado → siempre permitido
117
+ * - Si ya está en commit_allowed → permitido
118
+ * - Si requiere gates (QA, security, architecture) y no están resueltos → bloqueado
119
+ * - Si no requiere gates → permitido (se puede commitear directamente)
120
+ */
121
+ private isCommitAllowed;
122
+ /**
123
+ * @description Obtiene los estados destino válidos desde el estado actual.
124
+ */
125
+ getAvailableTransitions(status: TaskStatus): TaskStatus[];
126
+ /**
127
+ * @description Calcula la ruta crítica desde el estado actual hasta commit_allowed.
128
+ */
129
+ getCriticalPath(task: TaskContext): TaskStatus[];
130
+ /**
131
+ * @description Obtiene la instancia del FSM.
132
+ */
133
+ getFSM(): TaskFSM;
134
+ /**
135
+ * @description Actualiza la configuración en runtime.
136
+ */
137
+ updateConfig(config: Partial<OrchestratorConfig>): void;
138
+ /**
139
+ * @description Actualiza las reglas personalizadas en runtime.
140
+ */
141
+ updateRules(rules: PolicyRule[]): void;
142
+ /**
143
+ * @description Actualiza la capability matrix en runtime.
144
+ */
145
+ updateCapabilityMatrix(matrix: CapabilityMatrix): void;
146
+ /**
147
+ * @description Carga las policyRules auto-promovidas desde manifest.yaml.
148
+ * Estas son generadas por el PolicyPromoter del Reflection Engine y se
149
+ * fusionan con las customRules en cada orchestrate().
150
+ */
151
+ private loadManifestPolicyRules;
152
+ }
153
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestration/orchestrator.ts"],"names":[],"mappings":"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"}