@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,382 @@
1
+ "use strict";
2
+ /**
3
+ * @description PolicyPromoter — Promueve patrones detectados a policyRules en manifest.yaml.
4
+ *
5
+ * Toma un DetectedPattern y escribe/actualiza una entry en policyRules del manifest.yaml.
6
+ * La promoción convierte un hallazgo repetido en una regla determinista que el sistema
7
+ * aplica sin pasar por el LLM.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const promoter = new PolicyPromoter();
12
+ * await promoter.promote(pattern, 'pol-test-001');
13
+ * ```
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.PolicyPromoter = void 0;
50
+ const path = __importStar(require("path"));
51
+ const os = __importStar(require("os"));
52
+ const fs = __importStar(require("fs/promises"));
53
+ const yaml = __importStar(require("yaml"));
54
+ const atomic_write_1 = require("../shared/utils/atomic-write");
55
+ const types_1 = require("./types");
56
+ // ── Constantes ───────────────────────────────────────────────────────────────
57
+ const MANIFEST_FILENAME = 'manifest.yaml';
58
+ /**
59
+ * Palabras clave por failureType para el PolicyEngine (OR logic, case-insensitive).
60
+ * Cubre los 40 failureTypes de los 5 dominios del Reflection Engine.
61
+ */
62
+ const KEYWORD_MAP = {
63
+ // audit domain
64
+ missing_rollback: ['transaccion', 'transaction', 'rollback', 'database', 'base de datos'],
65
+ connection_leak: ['conexion', 'connection', 'pool', 'socket', 'database'],
66
+ security_vulnerability: ['seguridad', 'auth', 'jwt', 'oauth', 'vulnerabilidad', 'security'],
67
+ missing_test_coverage: ['cobertura', 'coverage', 'test', 'prueba'],
68
+ incomplete_error_handling: ['error', 'exception', 'catch', 'manejo de errores'],
69
+ missing_documentation: ['documentacion', 'documentation', 'doc', 'readme'],
70
+ architecture_violation: ['arquitectura', 'architecture', 'capa', 'modulo', 'dependencia'],
71
+ missing_logging: ['log', 'logging', 'registro', 'logger'],
72
+ unvalidated_input: ['input', 'validacion', 'validation', 'request', 'form'],
73
+ hardcoded_secret: ['password', 'secret', 'api_key', 'token', 'credential'],
74
+ // test domain
75
+ tsc_noEmit_type_error: ['typescript', 'type', 'tsc', 'compile'],
76
+ jest_timeout: ['timeout', 'jest', 'async', 'await'],
77
+ coverage_below_threshold: ['cobertura', 'coverage', 'threshold', 'umbral'],
78
+ flaky_test: ['flaky', 'intermittent', 'inestable'],
79
+ missing_test_for_use_case: ['caso de uso', 'use case', 'escenario', 'scenario'],
80
+ test_without_assertion: ['assertion', 'expect', 'assert'],
81
+ integration_test_without_container: ['integration', 'container', 'docker', 'integracion'],
82
+ property_test_missing: ['property', 'generative', 'fuzzing'],
83
+ // commit domain
84
+ unknown_failure: ['commit', 'mensaje', 'message'],
85
+ missing_type: ['conventional', 'feat', 'fix', 'chore', 'tipo de commit'],
86
+ wrong_scope: ['scope', 'alcance', 'modulo'],
87
+ message_too_long: ['commit', 'largo', 'mensaje largo'],
88
+ missing_issue_reference: ['issue', 'ticket', 'jira', 'referencia'],
89
+ coverage_not_run: ['cobertura', 'coverage', 'jest'],
90
+ typecheck_failed_before_commit: ['typescript', 'typecheck', 'tsc', 'compile'],
91
+ test_failed_before_commit: ['test', 'jest', 'prueba fallida'],
92
+ branch_naming_invalid: ['branch', 'rama', 'naming', 'feature', 'hotfix'],
93
+ // agent domain
94
+ wrong_agent_selected: ['agente', 'agent', 'routing', 'seleccion'],
95
+ agent_timeout: ['timeout', 'agente', 'tiempo de espera'],
96
+ agent_hallucination: ['alucinacion', 'hallucination', 'incorrecto'],
97
+ missing_agent_for_domain: ['agente', 'dominio', 'especialista', 'domain'],
98
+ tool_execution_failed: ['tool', 'herramienta', 'ejecutar'],
99
+ delegation_failed: ['delegacion', 'delegation', 'agente'],
100
+ response_rejected_by_evaluator: ['evaluador', 'evaluator', 'rechazado', 'rejected'],
101
+ // bootstrap domain
102
+ missing_config_yaml: ['config', 'yaml', 'configuracion', 'archivo'],
103
+ wrong_project_type_detected: ['proyecto', 'project', 'tipo de proyecto'],
104
+ memory_load_failure: ['memoria', 'memory', 'carga'],
105
+ manifest_corrupt: ['manifest', 'corrupto', 'corrupt', 'yaml'],
106
+ seed_config_failed: ['seed', 'inicializacion', 'init'],
107
+ agent_profile_load_failed: ['perfil', 'profile', 'agente'],
108
+ vault_sync_failed: ['vault', 'obsidian', 'sync'],
109
+ };
110
+ // ── PolicyPromoter ───────────────────────────────────────────────────────────
111
+ class PolicyPromoter {
112
+ manifestPath;
113
+ registry;
114
+ constructor(options) {
115
+ if (options?.manifestPath) {
116
+ this.manifestPath = options.manifestPath;
117
+ }
118
+ else {
119
+ const home = process.env.USERPROFILE ?? process.env.HOME ?? os.homedir();
120
+ const appName = options?.appName ?? 'bk-agent';
121
+ this.manifestPath = path.join(home, `.${appName}`, MANIFEST_FILENAME);
122
+ }
123
+ if (options?.registry) {
124
+ this.registry = options.registry;
125
+ }
126
+ }
127
+ /**
128
+ * @description Conecta un DomainRegistry para resolver keywords y acciones de dominios custom.
129
+ */
130
+ setRegistry(registry) {
131
+ this.registry = registry;
132
+ }
133
+ // ── Lectura/Escritura de manifest ─────────────────────────────────────────
134
+ /**
135
+ * @description Lee el manifest.yaml completo como objeto.
136
+ */
137
+ async readManifest() {
138
+ try {
139
+ const content = await fs.readFile(this.manifestPath, 'utf-8');
140
+ return yaml.parse(content) ?? {};
141
+ }
142
+ catch {
143
+ return {};
144
+ }
145
+ }
146
+ /**
147
+ * @description Escribe el objeto completo en manifest.yaml.
148
+ */
149
+ async writeManifest(data) {
150
+ await fs.mkdir(path.dirname(this.manifestPath), { recursive: true });
151
+ const content = yaml.stringify(data, {
152
+ indent: 2,
153
+ lineWidth: 200,
154
+ defaultStringType: 'PLAIN',
155
+ });
156
+ await (0, atomic_write_1.atomicWrite)(this.manifestPath, content);
157
+ }
158
+ // ── Operaciones con policyRules ────────────────────────────────────────────
159
+ /**
160
+ * @description Obtiene todas las policyRules actuales del manifest.
161
+ */
162
+ async getExistingRules() {
163
+ const manifest = await this.readManifest();
164
+ return manifest.policyRules ?? [];
165
+ }
166
+ async getRuleById(id) {
167
+ const rules = await this.getExistingRules();
168
+ return rules.find(r => r.id === id);
169
+ }
170
+ /**
171
+ * @description Busca si ya existe una regla para (domain, failureType).
172
+ * Evita promoción duplicada en cada arranque.
173
+ */
174
+ async findRule(domain, failureType) {
175
+ const rules = await this.getExistingRules();
176
+ return rules.find(r => r.trigger?.domain === domain && r.trigger?.pattern === failureType);
177
+ }
178
+ /**
179
+ * @description Promueve un patrón detectado a policyRule en manifest.yaml.
180
+ *
181
+ * Si el patrón ya fue promovido (misma rule ID existente), actualiza la regla.
182
+ * Si no existe, crea una nueva entrada.
183
+ *
184
+ * @param pattern - Patrón detectado por PatternDetector
185
+ * @param existingRuleId - ID de regla existente (opcional, para actualizar)
186
+ * @returns La ManifestPolicyRule creada o actualizada
187
+ */
188
+ async promote(pattern, existingRuleId) {
189
+ const manifest = await this.readManifest();
190
+ const rules = manifest.policyRules ?? [];
191
+ // Generar o reutilizar ID
192
+ const ruleId = existingRuleId ?? await this.generateNextId(pattern.domain);
193
+ // Construir la nueva regla
194
+ const condition = this.buildCondition(pattern);
195
+ const action = this.buildAction(pattern);
196
+ const newRule = {
197
+ id: ruleId,
198
+ name: this.buildRuleName(pattern),
199
+ if: condition,
200
+ then: action,
201
+ trigger: {
202
+ domain: pattern.domain,
203
+ pattern: pattern.failureType,
204
+ minOccurrences: 3,
205
+ },
206
+ autoGenerated: true,
207
+ createdAt: new Date().toISOString(),
208
+ engineVersion: '1.0.0',
209
+ };
210
+ // Buscar si ya existe y actualizar, o agregar
211
+ const existingIndex = rules.findIndex(r => r.id === ruleId);
212
+ if (existingIndex >= 0) {
213
+ rules[existingIndex] = newRule;
214
+ }
215
+ else {
216
+ rules.push(newRule);
217
+ }
218
+ manifest.policyRules = rules;
219
+ await this.writeManifest(manifest);
220
+ return newRule;
221
+ }
222
+ /**
223
+ * @description Actualiza la telemetría de outcomes de una regla.
224
+ * Llamar después de que un evaluador emite GO (success) o NO-GO (failure) en una tarea
225
+ * donde esta regla fue aplicada.
226
+ */
227
+ async updateOutcome(ruleId, outcome) {
228
+ const manifest = await this.readManifest();
229
+ const rules = manifest.policyRules ?? [];
230
+ const index = rules.findIndex(r => r.id === ruleId);
231
+ if (index === -1)
232
+ return false;
233
+ const rule = rules[index];
234
+ const existing = rule.outcomes ?? { success: 0, failure: 0, lastSeen: '' };
235
+ rules[index] = {
236
+ ...rule,
237
+ outcomes: {
238
+ success: existing.success + (outcome === 'success' ? 1 : 0),
239
+ failure: existing.failure + (outcome === 'failure' ? 1 : 0),
240
+ lastSeen: new Date().toISOString(),
241
+ },
242
+ };
243
+ manifest.policyRules = rules;
244
+ await this.writeManifest(manifest);
245
+ return true;
246
+ }
247
+ /**
248
+ * @description Elimina una policyRule del manifest por su ID.
249
+ */
250
+ async removeRule(ruleId) {
251
+ const manifest = await this.readManifest();
252
+ const rules = manifest.policyRules ?? [];
253
+ const filtered = rules.filter(r => r.id !== ruleId);
254
+ if (filtered.length === rules.length)
255
+ return false;
256
+ manifest.policyRules = filtered;
257
+ await this.writeManifest(manifest);
258
+ return true;
259
+ }
260
+ // ── Helpers de construcción ────────────────────────────────────────────────
261
+ /**
262
+ * @description Construye un nombre legible para la regla.
263
+ */
264
+ buildRuleName(pattern) {
265
+ const readableType = pattern.failureType
266
+ .replace(/_/g, ' ')
267
+ .replace(/\b\w/g, c => c.toUpperCase());
268
+ const domainLabel = pattern.domain.charAt(0).toUpperCase() + pattern.domain.slice(1);
269
+ return `[${domainLabel}] ${readableType} — auto-generated policy`;
270
+ }
271
+ /**
272
+ * @description Construye la condicion de la policyRule basada en el patron.
273
+ * Para dominios built-in usa KEYWORD_MAP. Para dominios custom consulta DomainRegistry.
274
+ */
275
+ buildCondition(pattern) {
276
+ const condition = {};
277
+ // Keywords: built-in usa KEYWORD_MAP, custom usa registry
278
+ const builtinKeywords = KEYWORD_MAP[pattern.failureType];
279
+ const customKeywords = this.registry?.getKeywordsForFailureType(pattern.domain, pattern.failureType);
280
+ const keywords = builtinKeywords ?? customKeywords;
281
+ if (keywords?.length) {
282
+ condition.keywords = keywords;
283
+ }
284
+ // Routing por actionType/domain segun dominio
285
+ switch (pattern.domain) {
286
+ case 'audit':
287
+ if (pattern.failureType.includes('security')) {
288
+ condition.domain = 'security';
289
+ }
290
+ break;
291
+ case 'test':
292
+ condition.actionType = 'test';
293
+ break;
294
+ case 'commit':
295
+ condition.actionType = ['implementation', 'refactor', 'bugfix'];
296
+ break;
297
+ case 'agent':
298
+ case 'bootstrap':
299
+ break;
300
+ default:
301
+ // Dominio custom: sin actionType ni domain especifico, solo keywords
302
+ break;
303
+ }
304
+ // riskLevel segun severidad
305
+ if (pattern.severity === 'critical' || pattern.severity === 'high') {
306
+ condition.riskLevel = ['high', 'critical'];
307
+ }
308
+ else if (pattern.severity === 'medium') {
309
+ condition.riskLevel = 'medium';
310
+ }
311
+ return condition;
312
+ }
313
+ /**
314
+ * @description Construye la acción de la policyRule.
315
+ */
316
+ buildAction(pattern) {
317
+ const action = {};
318
+ // Determinar acción según el dominio y tipo de fallo
319
+ switch (pattern.domain) {
320
+ case 'audit':
321
+ action.requireQaApproval = true;
322
+ if (pattern.failureType.includes('security')) {
323
+ action.requireSecurityReview = true;
324
+ }
325
+ break;
326
+ case 'test':
327
+ action.mustInclude = action.mustInclude ?? [];
328
+ action.mustInclude.push('qa-engineer');
329
+ if (pattern.failureType.includes('coverage')) {
330
+ action.mustExecute = ['test-coverage-check'];
331
+ }
332
+ break;
333
+ case 'commit':
334
+ action.mustInclude = action.mustInclude ?? [];
335
+ action.mustInclude.push('qa-engineer');
336
+ action.requireQaApproval = true;
337
+ break;
338
+ case 'agent':
339
+ action.mustInclude = action.mustInclude ?? [];
340
+ // Asignar agente especializado según el failureType
341
+ if (pattern.failureType.includes('security')) {
342
+ action.mustInclude.push('security-agent');
343
+ }
344
+ else if (pattern.failureType.includes('hallucination')) {
345
+ action.mustInclude.push('general');
346
+ }
347
+ break;
348
+ case 'bootstrap':
349
+ action.requireQaApproval = false;
350
+ break;
351
+ default: {
352
+ // Dominio custom: accion basada en la severidad del failureType
353
+ const ftDef = this.registry?.getFailureTypeDef(pattern.domain, pattern.failureType);
354
+ if (ftDef && (ftDef.severity === 'high' || ftDef.severity === 'critical')) {
355
+ action.requireQaApproval = true;
356
+ }
357
+ break;
358
+ }
359
+ }
360
+ return action;
361
+ }
362
+ /**
363
+ * @description Genera el próximo ID de regla disponible para un dominio.
364
+ * Busca el número más alto existente y suma 1.
365
+ */
366
+ async generateNextId(domain) {
367
+ const rules = await this.getExistingRules();
368
+ const prefix = domain.toUpperCase().slice(0, 4);
369
+ const pattern = `POL-${prefix}-`;
370
+ let maxNum = 0;
371
+ for (const rule of rules) {
372
+ if (!rule.id || !rule.id.startsWith(pattern))
373
+ continue;
374
+ const num = parseInt(rule.id.slice(pattern.length), 10);
375
+ if (!isNaN(num) && num > maxNum)
376
+ maxNum = num;
377
+ }
378
+ return (0, types_1.generatePolicyRuleId)(domain, maxNum + 1);
379
+ }
380
+ }
381
+ exports.PolicyPromoter = PolicyPromoter;
382
+ //# sourceMappingURL=policy-promoter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-promoter.js","sourceRoot":"","sources":["../../src/reflection/policy-promoter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * @description ReflectionEngine — Orquestador universal del sistema de auto-mejora.
3
+ *
4
+ * Pipeline: Feedback → Catalog → Pattern Detection → Policy Promotion → Prevention
5
+ *
6
+ * Opera sobre 5 dominios: audit, test, commit, agent, bootstrap.
7
+ * Cada dominio tiene sus propios failureTypes y hooks de captura,
8
+ * pero comparten el mismo pipeline de deteccion y promocion.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const engine = new ReflectionEngine({ projectRoot: process.cwd() });
13
+ * await engine.initialize();
14
+ * await engine.reflect(); // escanea todos los dominios
15
+ * console.log(engine.getStats());
16
+ * ```
17
+ */
18
+ import { FailureCatalog } from './failure-catalog';
19
+ import { PatternDetector } from './pattern-detector';
20
+ import { PolicyPromoter } from './policy-promoter';
21
+ import { FailureRecord, DetectedPattern, AnyDomain, ReflectionConfig, ManifestPolicyRule } from './types';
22
+ import { DomainRegistry } from './domain-registry';
23
+ export declare class ReflectionEngine {
24
+ private catalog;
25
+ private detector;
26
+ private promoter;
27
+ private config;
28
+ private registry?;
29
+ private appName;
30
+ private projectRoot;
31
+ private onProjectContextUpdate?;
32
+ private onEngineInsights?;
33
+ private lastPatterns;
34
+ private lastPromotedRules;
35
+ private pendingReflections;
36
+ private projectDir?;
37
+ constructor(options?: {
38
+ projectRoot?: string;
39
+ useGlobalDir?: boolean;
40
+ appName?: string;
41
+ config?: Partial<ReflectionConfig>;
42
+ registry?: DomainRegistry;
43
+ onProjectContextUpdate?: (projectDir: string, data: {
44
+ notas: string;
45
+ }) => Promise<void>;
46
+ onEngineInsights?: (projectDir: string, insights: unknown[]) => Promise<void>;
47
+ });
48
+ /**
49
+ * @description Inicializa el engine: carga el catalogo de fallos y el registry desde disco.
50
+ * Siempre llamar antes de usar el engine.
51
+ */
52
+ initialize(): Promise<void>;
53
+ /**
54
+ * @description Conecta un DomainRegistry al engine despues de la construccion.
55
+ * El registry se cargara en el siguiente llamado a initialize() o inmediatamente si
56
+ * el engine ya esta inicializado.
57
+ */
58
+ connectRegistry(registry: DomainRegistry): Promise<void>;
59
+ /**
60
+ * @description Devuelve el DomainRegistry conectado, si existe.
61
+ */
62
+ getRegistry(): DomainRegistry | undefined;
63
+ /**
64
+ * @description Conecta el engine con el directorio de memoria del proyecto.
65
+ * Una vez conectado, reflect() y AuditHook actualizaran los archivos de memoria.
66
+ */
67
+ connectMemory(projectDir: string): void;
68
+ /**
69
+ * @description Devuelve el directorio de memoria conectado, si existe.
70
+ */
71
+ getProjectDir(): string | undefined;
72
+ /**
73
+ * @description Ejecuta el pipeline completo de reflexion para todos los dominios
74
+ * (o solo los activos segun config):
75
+ * 1. Escanea el catalogo buscando patrones >= promotionThreshold
76
+ * 2. Promueve los patrones no promovidos aun a policyRules
77
+ * 3. Devuelve los patrones detectados y las reglas promovidas
78
+ */
79
+ reflect(options?: {
80
+ domain?: AnyDomain;
81
+ threshold?: number;
82
+ autoPromote?: boolean;
83
+ }): Promise<{
84
+ patterns: DetectedPattern[];
85
+ promotedRules: ManifestPolicyRule[];
86
+ stats: ReflectionStats;
87
+ }>;
88
+ /**
89
+ * @description Ejecuta reflexion solo para un dominio especifico.
90
+ * Util cuando un hook reporta un incidente y se quiere analizar inmediatamente.
91
+ */
92
+ reflectByDomain(domain: AnyDomain): Promise<{
93
+ patterns: DetectedPattern[];
94
+ promotedRules: ManifestPolicyRule[];
95
+ }>;
96
+ /**
97
+ * @description Registra un incidente en el catalogo y ejecuta reflexion
98
+ * inmediata para el dominio al que pertenece.
99
+ *
100
+ * Este es el metodo principal que los hooks deben llamar.
101
+ *
102
+ * @param record - Datos del incidente (sin ID, se genera automaticamente)
103
+ * @returns El FailureRecord completo y los patrones detectados
104
+ */
105
+ reportIncident(record: Omit<FailureRecord, 'id'>): Promise<{
106
+ record: FailureRecord;
107
+ patterns: DetectedPattern[];
108
+ }>;
109
+ /**
110
+ * @description Ejecuta la reflexion acumulada de todos los dominios con incidentes pendientes.
111
+ * Llamar al cerrar un sprint o al final de una sesion.
112
+ */
113
+ flushReflections(): Promise<{
114
+ patterns: DetectedPattern[];
115
+ promotedRules: ManifestPolicyRule[];
116
+ }>;
117
+ private maybeUpdateAgentMd;
118
+ private formatLessonsBlock;
119
+ /**
120
+ * @description Obtiene los patrones detectados en la ultima reflexion.
121
+ */
122
+ getLastPatterns(): DetectedPattern[];
123
+ /**
124
+ * @description Obtiene las reglas promovidas en la ultima reflexion.
125
+ */
126
+ getLastPromotedRules(): ManifestPolicyRule[];
127
+ /**
128
+ * @description Obtiene el catalogo de fallos para operaciones directas.
129
+ */
130
+ getCatalog(): FailureCatalog;
131
+ /**
132
+ * @description Obtiene el detector de patrones.
133
+ */
134
+ getDetector(): PatternDetector;
135
+ /**
136
+ * @description Obtiene el promoter de politicas.
137
+ */
138
+ getPromoter(): PolicyPromoter;
139
+ /**
140
+ * @description Obtiene la ruta del archivo de lecciones aprendidas.
141
+ * Util para que el AgentLoop pueda cargar el memo e inyectarlo en los agentes.
142
+ */
143
+ getLessonsMemoPath(): string;
144
+ /**
145
+ * @description Calcula estadisticas del Reflection Engine.
146
+ */
147
+ getStats(): Promise<ReflectionStats>;
148
+ private calculateStats;
149
+ }
150
+ export interface ReflectionStats {
151
+ enabled: boolean;
152
+ promotionThreshold: number;
153
+ activeDomains: AnyDomain[];
154
+ totalIncidents: number;
155
+ unresolvedCount: number;
156
+ countsByDomain: Record<string, number>;
157
+ patternsByDomain: Record<string, number>;
158
+ lastReflectionAt: string;
159
+ }
160
+ //# sourceMappingURL=reflection-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflection-engine.d.ts","sourceRoot":"","sources":["../../src/reflection/reflection-engine.ts"],"names":[],"mappings":"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"}