@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,65 @@
1
+ /**
2
+ * @description TestHook — Puente entre el test runner (jest) y el ReflectionEngine.
3
+ *
4
+ * Transforma resultados de testing (fallos de typecheck, timeouts, cobertura baja)
5
+ * en FailureRecord y los reporta al ReflectionEngine.
6
+ *
7
+ * Se integra en el pipeline de test validation gate.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const hook = new TestHook(engine);
12
+ * await hook.reportTestFailure('tsc_noEmit_type_error', 'Error TS2345', files);
13
+ * ```
14
+ */
15
+ import { ReflectionEngine } from '../reflection-engine';
16
+ import { FailureRecord, ReflectionDomain, FailureType } from '../types';
17
+ export declare class TestHook {
18
+ private engine;
19
+ constructor(engine: ReflectionEngine);
20
+ /**
21
+ * @description Reporta un fallo de test al Reflection Engine.
22
+ * Convierte los datos en FailureRecord, detecta el failureType
23
+ * automáticamente según el mensaje de error.
24
+ *
25
+ * @param failureType - Tipo de fallo detectado (opcional, se auto-detecta si no se provee)
26
+ * @param errorMessage - Mensaje de error del test/typecheck
27
+ * @param archivos - Archivos involucrados en el fallo
28
+ * @param domain - Dominio del Reflection Engine (default: "test")
29
+ * @returns El FailureRecord creado y los patrones detectados
30
+ */
31
+ reportTestFailure(errorMessage: string, archivos: string[], failureType?: FailureType, domain?: ReflectionDomain): Promise<{
32
+ record: FailureRecord;
33
+ patterns: import('../types').DetectedPattern[];
34
+ }>;
35
+ /**
36
+ * @description Reporta un fallo de cobertura por debajo del umbral.
37
+ */
38
+ reportCoverageFailure(threshold: string, actual: string, archivos: string[]): Promise<{
39
+ record: FailureRecord;
40
+ patterns: import('../types').DetectedPattern[];
41
+ }>;
42
+ /**
43
+ * @description Reporta un test como flaky (intermitente).
44
+ */
45
+ reportFlakyTest(testName: string, failureRate: string, archivos: string[]): Promise<{
46
+ record: FailureRecord;
47
+ patterns: import('../types').DetectedPattern[];
48
+ }>;
49
+ /**
50
+ * @description Ejecuta una reflexión completa del dominio test.
51
+ */
52
+ reflectTestDomain(): Promise<{
53
+ patterns: import('../types').DetectedPattern[];
54
+ promotedRules: import('../types').ManifestPolicyRule[];
55
+ }>;
56
+ /**
57
+ * @description Obtiene estadísticas de incidentes del dominio test.
58
+ */
59
+ getTestStats(): Promise<{
60
+ totalIncidents: number;
61
+ unresolvedCount: number;
62
+ patternsByFailureType: Record<string, number>;
63
+ }>;
64
+ }
65
+ //# sourceMappingURL=test-hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-hook.d.ts","sourceRoot":"","sources":["../../../src/reflection/hooks/test-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKxE,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB;IAIpC;;;;;;;;;;OAUG;IACG,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,CAAC,EAAE,WAAW,EACzB,MAAM,GAAE,gBAAyB,GAChC,OAAO,CAAC;QACT,MAAM,EAAE,aAAa,CAAC;QACtB,QAAQ,EAAE,OAAO,UAAU,EAAE,eAAe,EAAE,CAAC;KAChD,CAAC;IA2BF;;OAEG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;QACT,MAAM,EAAE,aAAa,CAAC;QACtB,QAAQ,EAAE,OAAO,UAAU,EAAE,eAAe,EAAE,CAAC;KAChD,CAAC;IAKF;;OAEG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;QACT,MAAM,EAAE,aAAa,CAAC;QACtB,QAAQ,EAAE,OAAO,UAAU,EAAE,eAAe,EAAE,CAAC;KAChD,CAAC;IAKF;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC;QACjC,QAAQ,EAAE,OAAO,UAAU,EAAE,eAAe,EAAE,CAAC;QAC/C,aAAa,EAAE,OAAO,UAAU,EAAE,kBAAkB,EAAE,CAAC;KACxD,CAAC;IAIF;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/C,CAAC;CAiBH"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ /**
3
+ * @description TestHook — Puente entre el test runner (jest) y el ReflectionEngine.
4
+ *
5
+ * Transforma resultados de testing (fallos de typecheck, timeouts, cobertura baja)
6
+ * en FailureRecord y los reporta al ReflectionEngine.
7
+ *
8
+ * Se integra en el pipeline de test validation gate.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const hook = new TestHook(engine);
13
+ * await hook.reportTestFailure('tsc_noEmit_type_error', 'Error TS2345', files);
14
+ * ```
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.TestHook = void 0;
18
+ const test_domain_1 = require("../domains/test-domain");
19
+ // ── TestHook ─────────────────────────────────────────────────────────────────
20
+ class TestHook {
21
+ engine;
22
+ constructor(engine) {
23
+ this.engine = engine;
24
+ }
25
+ /**
26
+ * @description Reporta un fallo de test al Reflection Engine.
27
+ * Convierte los datos en FailureRecord, detecta el failureType
28
+ * automáticamente según el mensaje de error.
29
+ *
30
+ * @param failureType - Tipo de fallo detectado (opcional, se auto-detecta si no se provee)
31
+ * @param errorMessage - Mensaje de error del test/typecheck
32
+ * @param archivos - Archivos involucrados en el fallo
33
+ * @param domain - Dominio del Reflection Engine (default: "test")
34
+ * @returns El FailureRecord creado y los patrones detectados
35
+ */
36
+ async reportTestFailure(errorMessage, archivos, failureType, domain = 'test') {
37
+ // Detectar failureType si no se provee
38
+ const detectedType = failureType ?? (0, test_domain_1.detectTestFailureType)(errorMessage);
39
+ const meta = (0, test_domain_1.getTestFailureTypeMeta)(detectedType);
40
+ // Determinar severidad según el tipo
41
+ const severity = meta?.severity ?? 'high';
42
+ // Construir el FailureRecord
43
+ const record = {
44
+ domain,
45
+ failureType: detectedType,
46
+ severity,
47
+ dimension: meta?.dimension ?? 'calidad',
48
+ gate: 'jest',
49
+ agenteResponsable: 'system',
50
+ hallazgo: errorMessage,
51
+ recomendacion: meta?.genericRecommendation ?? 'Revisar el error del test y corregirlo antes de continuar',
52
+ archivos,
53
+ fecha: new Date().toISOString(),
54
+ };
55
+ // Reportar al Reflection Engine
56
+ const result = await this.engine.reportIncident(record);
57
+ return result;
58
+ }
59
+ /**
60
+ * @description Reporta un fallo de cobertura por debajo del umbral.
61
+ */
62
+ async reportCoverageFailure(threshold, actual, archivos) {
63
+ const message = `Cobertura por debajo del umbral: esperado ${threshold}, obtenido ${actual}`;
64
+ return this.reportTestFailure(message, archivos, 'coverage_below_threshold');
65
+ }
66
+ /**
67
+ * @description Reporta un test como flaky (intermitente).
68
+ */
69
+ async reportFlakyTest(testName, failureRate, archivos) {
70
+ const message = `Test flaky detectado: "${testName}" (falla ${failureRate} de las veces)`;
71
+ return this.reportTestFailure(message, archivos, 'flaky_test');
72
+ }
73
+ /**
74
+ * @description Ejecuta una reflexión completa del dominio test.
75
+ */
76
+ async reflectTestDomain() {
77
+ return this.engine.reflect({ domain: 'test', autoPromote: true });
78
+ }
79
+ /**
80
+ * @description Obtiene estadísticas de incidentes del dominio test.
81
+ */
82
+ async getTestStats() {
83
+ const stats = await this.engine.getStats();
84
+ const catalog = this.engine.getCatalog();
85
+ const testRecords = await catalog.findByDomain('test');
86
+ const unresolved = await catalog.findUnresolved();
87
+ const patternsByFailureType = {};
88
+ for (const record of testRecords) {
89
+ patternsByFailureType[record.failureType] = (patternsByFailureType[record.failureType] ?? 0) + 1;
90
+ }
91
+ return {
92
+ totalIncidents: stats.totalIncidents,
93
+ unresolvedCount: unresolved.length,
94
+ patternsByFailureType,
95
+ };
96
+ }
97
+ }
98
+ exports.TestHook = TestHook;
99
+ //# sourceMappingURL=test-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-hook.js","sourceRoot":"","sources":["../../../src/reflection/hooks/test-hook.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAIH,wDAAuF;AAEvF,gFAAgF;AAEhF,MAAa,QAAQ;IACX,MAAM,CAAmB;IAEjC,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,iBAAiB,CACrB,YAAoB,EACpB,QAAkB,EAClB,WAAyB,EACzB,SAA2B,MAAM;QAKjC,uCAAuC;QACvC,MAAM,YAAY,GAAG,WAAW,IAAI,IAAA,mCAAqB,EAAC,YAAY,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAA,oCAAsB,EAAC,YAAY,CAAC,CAAC;QAElD,qCAAqC;QACrC,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC;QAE1C,6BAA6B;QAC7B,MAAM,MAAM,GAA8B;YACxC,MAAM;YACN,WAAW,EAAE,YAAY;YACzB,QAAQ;YACR,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,SAAS;YACvC,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE,QAAQ;YAC3B,QAAQ,EAAE,YAAY;YACtB,aAAa,EAAE,IAAI,EAAE,qBAAqB,IAAI,2DAA2D;YACzG,QAAQ;YACR,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAChC,CAAC;QAEF,gCAAgC;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACzB,SAAiB,EACjB,MAAc,EACd,QAAkB;QAKlB,MAAM,OAAO,GAAG,6CAA6C,SAAS,cAAc,MAAM,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,WAAmB,EACnB,QAAkB;QAKlB,MAAM,OAAO,GAAG,0BAA0B,QAAQ,YAAY,WAAW,gBAAgB,CAAC;QAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QAIrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAKhB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;QAElD,MAAM,qBAAqB,GAA2B,EAAE,CAAC;QACzD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnG,CAAC;QAED,OAAO;YACL,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,eAAe,EAAE,UAAU,CAAC,MAAM;YAClC,qBAAqB;SACtB,CAAC;IACJ,CAAC;CACF;AArHD,4BAqHC"}
@@ -0,0 +1,19 @@
1
+ export { ReflectionEngine } from './reflection-engine';
2
+ export type { ReflectionStats } from './reflection-engine';
3
+ export { FailureCatalog } from './failure-catalog';
4
+ export { PatternDetector } from './pattern-detector';
5
+ export { PolicyPromoter } from './policy-promoter';
6
+ export { HistoricalLoader } from './historical-loader';
7
+ export { LessonsMemoGenerator } from './lessons-memo-generator';
8
+ export { DomainRegistry, BUILTIN_DOMAINS } from './domain-registry';
9
+ export type { BuiltinDomain, CustomDomainDefinition, FailureTypeDefinition } from './domain-registry';
10
+ export { DomainCommands } from './commands/domain-commands';
11
+ export type { AddDomainInput, DomainListEntry, DomainCommandResult } from './commands/domain-commands';
12
+ export { AuditHook } from './hooks/audit-hook';
13
+ export { AgentHook } from './hooks/agent-hook';
14
+ export { TestHook } from './hooks/test-hook';
15
+ export { CommitHook } from './hooks/commit-hook';
16
+ export { BootstrapHook } from './hooks/bootstrap-hook';
17
+ export type { ReflectionDomain, AnyDomain, FailureType, FailureRecord, DetectedPattern, ManifestPolicyRule, ReflectionConfig, PolicyRule, PolicyCondition, PolicyAction, AuditFinding, } from './types';
18
+ export { FAILURE_TYPES_BY_DOMAIN, defaultReflectionConfig, generateFailureId, generatePolicyRuleId, } from './types';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reflection/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGvG,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,YAAY,EACR,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,YAAY,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,GACvB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatePolicyRuleId = exports.generateFailureId = exports.defaultReflectionConfig = exports.FAILURE_TYPES_BY_DOMAIN = exports.BootstrapHook = exports.CommitHook = exports.TestHook = exports.AgentHook = exports.AuditHook = exports.DomainCommands = exports.BUILTIN_DOMAINS = exports.DomainRegistry = exports.LessonsMemoGenerator = exports.HistoricalLoader = exports.PolicyPromoter = exports.PatternDetector = exports.FailureCatalog = exports.ReflectionEngine = void 0;
4
+ // Engine
5
+ var reflection_engine_1 = require("./reflection-engine");
6
+ Object.defineProperty(exports, "ReflectionEngine", { enumerable: true, get: function () { return reflection_engine_1.ReflectionEngine; } });
7
+ // Catalog & detection
8
+ var failure_catalog_1 = require("./failure-catalog");
9
+ Object.defineProperty(exports, "FailureCatalog", { enumerable: true, get: function () { return failure_catalog_1.FailureCatalog; } });
10
+ var pattern_detector_1 = require("./pattern-detector");
11
+ Object.defineProperty(exports, "PatternDetector", { enumerable: true, get: function () { return pattern_detector_1.PatternDetector; } });
12
+ var policy_promoter_1 = require("./policy-promoter");
13
+ Object.defineProperty(exports, "PolicyPromoter", { enumerable: true, get: function () { return policy_promoter_1.PolicyPromoter; } });
14
+ var historical_loader_1 = require("./historical-loader");
15
+ Object.defineProperty(exports, "HistoricalLoader", { enumerable: true, get: function () { return historical_loader_1.HistoricalLoader; } });
16
+ var lessons_memo_generator_1 = require("./lessons-memo-generator");
17
+ Object.defineProperty(exports, "LessonsMemoGenerator", { enumerable: true, get: function () { return lessons_memo_generator_1.LessonsMemoGenerator; } });
18
+ // Domain registry
19
+ var domain_registry_1 = require("./domain-registry");
20
+ Object.defineProperty(exports, "DomainRegistry", { enumerable: true, get: function () { return domain_registry_1.DomainRegistry; } });
21
+ Object.defineProperty(exports, "BUILTIN_DOMAINS", { enumerable: true, get: function () { return domain_registry_1.BUILTIN_DOMAINS; } });
22
+ var domain_commands_1 = require("./commands/domain-commands");
23
+ Object.defineProperty(exports, "DomainCommands", { enumerable: true, get: function () { return domain_commands_1.DomainCommands; } });
24
+ // Hooks
25
+ var audit_hook_1 = require("./hooks/audit-hook");
26
+ Object.defineProperty(exports, "AuditHook", { enumerable: true, get: function () { return audit_hook_1.AuditHook; } });
27
+ var agent_hook_1 = require("./hooks/agent-hook");
28
+ Object.defineProperty(exports, "AgentHook", { enumerable: true, get: function () { return agent_hook_1.AgentHook; } });
29
+ var test_hook_1 = require("./hooks/test-hook");
30
+ Object.defineProperty(exports, "TestHook", { enumerable: true, get: function () { return test_hook_1.TestHook; } });
31
+ var commit_hook_1 = require("./hooks/commit-hook");
32
+ Object.defineProperty(exports, "CommitHook", { enumerable: true, get: function () { return commit_hook_1.CommitHook; } });
33
+ var bootstrap_hook_1 = require("./hooks/bootstrap-hook");
34
+ Object.defineProperty(exports, "BootstrapHook", { enumerable: true, get: function () { return bootstrap_hook_1.BootstrapHook; } });
35
+ var types_1 = require("./types");
36
+ Object.defineProperty(exports, "FAILURE_TYPES_BY_DOMAIN", { enumerable: true, get: function () { return types_1.FAILURE_TYPES_BY_DOMAIN; } });
37
+ Object.defineProperty(exports, "defaultReflectionConfig", { enumerable: true, get: function () { return types_1.defaultReflectionConfig; } });
38
+ Object.defineProperty(exports, "generateFailureId", { enumerable: true, get: function () { return types_1.generateFailureId; } });
39
+ Object.defineProperty(exports, "generatePolicyRuleId", { enumerable: true, get: function () { return types_1.generatePolicyRuleId; } });
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reflection/index.ts"],"names":[],"mappings":";;;AAAA,SAAS;AACT,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AAGzB,sBAAsB;AACtB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAE7B,kBAAkB;AAClB,qDAAoE;AAA3D,iHAAA,cAAc,OAAA;AAAE,kHAAA,eAAe,OAAA;AAExC,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AAGvB,QAAQ;AACR,iDAA+C;AAAtC,uGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,uGAAA,SAAS,OAAA;AAClB,+CAA6C;AAApC,qGAAA,QAAQ,OAAA;AACjB,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AACnB,yDAAuD;AAA9C,+GAAA,aAAa,OAAA;AAgBtB,iCAKiB;AAJb,gHAAA,uBAAuB,OAAA;AACvB,gHAAA,uBAAuB,OAAA;AACvB,0GAAA,iBAAiB,OAAA;AACjB,6GAAA,oBAAoB,OAAA"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @description LessonsMemoGenerator — Genera un memo de lecciones aprendidas
3
+ * a partir de los patrones detectados por el Reflection Engine.
4
+ *
5
+ * El memo se inyecta en el system prompt de los agentes para que aprendan
6
+ * de errores pasados automaticamente. Cierra el ciclo:
7
+ *
8
+ * Codigo -> Auditoria -> Reflection Engine -> LessonsMemo -> System Prompt
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const generator = new LessonsMemoGenerator(engine);
13
+ * const memo = await generator.generate();
14
+ * // Inyectar memo en el system prompt del agente
15
+ * ```
16
+ */
17
+ import { ReflectionEngine } from './reflection-engine';
18
+ export declare class LessonsMemoGenerator {
19
+ private engine;
20
+ constructor(engine: ReflectionEngine);
21
+ /**
22
+ * @description Genera el memo de lecciones aprendidas basado en los patrones
23
+ * detectados por el Reflection Engine.
24
+ *
25
+ * El memo incluye:
26
+ * - Resumen de patrones por dominio
27
+ * - Lecciones concretas extraidas de cada patron (que hacer y que evitar)
28
+ * - Reglas promovidas a policyRules
29
+ *
30
+ * @returns Contenido del memo en markdown, o null si no hay patrones
31
+ */
32
+ generate(): Promise<string | null>;
33
+ /**
34
+ * @description Genera y persiste el memo en disco.
35
+ * La ruta es: ~/.deepseek-code/projects/{hash}/audits/lecciones-aprendidas.md
36
+ *
37
+ * @returns Ruta del archivo generado, o null si no hay lecciones
38
+ */
39
+ persist(): Promise<string | null>;
40
+ /**
41
+ * @description Obtiene la ruta del archivo de memo.
42
+ */
43
+ getMemoPath(): string;
44
+ private getDomainIcon;
45
+ /**
46
+ * Convierte un DetectedPattern en una leccion con formato markdown.
47
+ */
48
+ private formatPatternAsLesson;
49
+ /**
50
+ * Genera una recomendacion concreta basada en el failureType.
51
+ */
52
+ private buildRecommendation;
53
+ /**
54
+ * Construye un checklist de auto-revision basado en los patrones detectados.
55
+ */
56
+ private buildChecklist;
57
+ private formatFailureType;
58
+ private getSeverityEmoji;
59
+ }
60
+ //# sourceMappingURL=lessons-memo-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lessons-memo-generator.d.ts","sourceRoot":"","sources":["../../src/reflection/lessons-memo-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AASvD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB;IAIpC;;;;;;;;;;OAUG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6ExC;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUvC;;OAEG;IACH,WAAW,IAAI,MAAM;IAYrB,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,gBAAgB;CASzB"}
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ /**
3
+ * @description LessonsMemoGenerator — Genera un memo de lecciones aprendidas
4
+ * a partir de los patrones detectados por el Reflection Engine.
5
+ *
6
+ * El memo se inyecta en el system prompt de los agentes para que aprendan
7
+ * de errores pasados automaticamente. Cierra el ciclo:
8
+ *
9
+ * Codigo -> Auditoria -> Reflection Engine -> LessonsMemo -> System Prompt
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const generator = new LessonsMemoGenerator(engine);
14
+ * const memo = await generator.generate();
15
+ * // Inyectar memo en el system prompt del agente
16
+ * ```
17
+ */
18
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ var desc = Object.getOwnPropertyDescriptor(m, k);
21
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
22
+ desc = { enumerable: true, get: function() { return m[k]; } };
23
+ }
24
+ Object.defineProperty(o, k2, desc);
25
+ }) : (function(o, m, k, k2) {
26
+ if (k2 === undefined) k2 = k;
27
+ o[k2] = m[k];
28
+ }));
29
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
30
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
31
+ }) : function(o, v) {
32
+ o["default"] = v;
33
+ });
34
+ var __importStar = (this && this.__importStar) || (function () {
35
+ var ownKeys = function(o) {
36
+ ownKeys = Object.getOwnPropertyNames || function (o) {
37
+ var ar = [];
38
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
39
+ return ar;
40
+ };
41
+ return ownKeys(o);
42
+ };
43
+ return function (mod) {
44
+ if (mod && mod.__esModule) return mod;
45
+ var result = {};
46
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
47
+ __setModuleDefault(result, mod);
48
+ return result;
49
+ };
50
+ })();
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.LessonsMemoGenerator = void 0;
53
+ const path = __importStar(require("path"));
54
+ const os = __importStar(require("os"));
55
+ const fs = __importStar(require("fs/promises"));
56
+ // ── Constantes ───────────────────────────────────────────────────────────────
57
+ const MEMO_FILENAME = 'lecciones-aprendidas.md';
58
+ // ── LessonsMemoGenerator ─────────────────────────────────────────────────────
59
+ class LessonsMemoGenerator {
60
+ engine;
61
+ constructor(engine) {
62
+ this.engine = engine;
63
+ }
64
+ /**
65
+ * @description Genera el memo de lecciones aprendidas basado en los patrones
66
+ * detectados por el Reflection Engine.
67
+ *
68
+ * El memo incluye:
69
+ * - Resumen de patrones por dominio
70
+ * - Lecciones concretas extraidas de cada patron (que hacer y que evitar)
71
+ * - Reglas promovidas a policyRules
72
+ *
73
+ * @returns Contenido del memo en markdown, o null si no hay patrones
74
+ */
75
+ async generate() {
76
+ const stats = await this.engine.getStats();
77
+ if (stats.totalIncidents === 0) {
78
+ return null;
79
+ }
80
+ // Obtener patrones detectados
81
+ const allPatterns = this.engine.getLastPatterns();
82
+ const promotedRules = this.engine.getLastPromotedRules();
83
+ if (allPatterns.length === 0 && promotedRules.length === 0) {
84
+ return null;
85
+ }
86
+ const sections = [];
87
+ // Encabezado
88
+ sections.push(`# Lecciones Aprendidas (Auto-generado)
89
+
90
+ > Generado automaticamente por el Reflection Engine.
91
+ > Basado en ${stats.totalIncidents} incidentes analizados en ${stats.activeDomains.length} dominios.
92
+
93
+ ---
94
+
95
+ `);
96
+ // --- Seccion 1: Resumen por dominio ---
97
+ sections.push('## Resumen por Dominio\n');
98
+ sections.push('| Dominio | Incidentes | Patrones Activos |');
99
+ sections.push('|---------|------------|------------------|');
100
+ for (const domain of stats.activeDomains) {
101
+ const incidentCount = stats.countsByDomain[domain] ?? 0;
102
+ const patternCount = stats.patternsByDomain[domain] ?? 0;
103
+ const icon = this.getDomainIcon(domain);
104
+ sections.push(`| ${icon} ${domain} | ${incidentCount} | ${patternCount} |`);
105
+ }
106
+ sections.push('');
107
+ // --- Seccion 2: Lecciones por patron ---
108
+ sections.push('## Lecciones Aprendidas\n');
109
+ if (allPatterns.length === 0) {
110
+ sections.push('_No hay patrones activos. Los incidentes registrados no han superado el umbral de promocion._\n');
111
+ }
112
+ else {
113
+ for (const pattern of allPatterns) {
114
+ sections.push(this.formatPatternAsLesson(pattern));
115
+ sections.push('');
116
+ }
117
+ }
118
+ // --- Seccion 3: Reglas promovidas ---
119
+ if (promotedRules.length > 0) {
120
+ sections.push('## Reglas de Politica Promovidas\n');
121
+ sections.push('| ID | Nombre | Dominio | Trigger |');
122
+ sections.push('|----|--------|---------|--------|');
123
+ for (const rule of promotedRules) {
124
+ const triggerInfo = rule.trigger
125
+ ? `${rule.trigger.pattern} (x${rule.trigger.minOccurrences})`
126
+ : 'auto-generada';
127
+ sections.push(`| ${rule.id} | ${rule.name} | ${rule.trigger?.domain ?? 'N/A'} | ${triggerInfo} |`);
128
+ }
129
+ sections.push('');
130
+ }
131
+ // --- Seccion 4: Checklist de auto-revision ---
132
+ sections.push('## Checklist de Auto-Revision\n');
133
+ sections.push(`Basado en los patrones detectados, antes de finalizar cualquier implementacion, verifica:
134
+
135
+ ${this.buildChecklist(allPatterns)}
136
+ `);
137
+ return sections.join('\n');
138
+ }
139
+ /**
140
+ * @description Genera y persiste el memo en disco.
141
+ * La ruta es: ~/.deepseek-code/projects/{hash}/audits/lecciones-aprendidas.md
142
+ *
143
+ * @returns Ruta del archivo generado, o null si no hay lecciones
144
+ */
145
+ async persist() {
146
+ const content = await this.generate();
147
+ if (!content)
148
+ return null;
149
+ const filePath = this.getMemoPath();
150
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
151
+ await fs.writeFile(filePath, content, 'utf-8');
152
+ return filePath;
153
+ }
154
+ /**
155
+ * @description Obtiene la ruta del archivo de memo.
156
+ */
157
+ getMemoPath() {
158
+ const cwd = process.cwd();
159
+ const home = process.env.USERPROFILE ?? process.env.HOME ?? os.homedir();
160
+ const projectKey = cwd
161
+ .replace(/[/\\]$/, '')
162
+ .replace(/:[/\\]/g, '--')
163
+ .replace(/[^a-zA-Z0-9-]/g, '-');
164
+ return path.join(home, '.deepseek-code', 'projects', projectKey, 'audits', MEMO_FILENAME);
165
+ }
166
+ // ── Helpers ────────────────────────────────────────────────────────────────
167
+ getDomainIcon(domain) {
168
+ const icons = {
169
+ audit: 'audit',
170
+ test: 'test',
171
+ commit: 'commit',
172
+ agent: 'agent',
173
+ bootstrap: 'bootstrap',
174
+ };
175
+ return icons[domain] ?? domain;
176
+ }
177
+ /**
178
+ * Convierte un DetectedPattern en una leccion con formato markdown.
179
+ */
180
+ formatPatternAsLesson(pattern) {
181
+ const severityEmoji = this.getSeverityEmoji(pattern.severity);
182
+ // Construir recomendacion concreta
183
+ const recommendation = this.buildRecommendation(pattern);
184
+ return [
185
+ `### ${severityEmoji} ${this.formatFailureType(pattern.failureType)}`,
186
+ '',
187
+ `- **Dominio:** ${pattern.domain}`,
188
+ `- **Ocurrencias:** ${pattern.count} (ultima: ${pattern.lastSeen.slice(0, 10)})`,
189
+ `- **Severidad dominante:** ${pattern.severity}`,
190
+ `- **Dimension:** ${pattern.dominantDimension}`,
191
+ `- **Gate tipico:** ${pattern.dominantGate}`,
192
+ '',
193
+ '**Que evitar:**',
194
+ `> ${pattern.recommendedAction || 'Este patron se ha repetido. Evitar en futuras implementaciones.'}`,
195
+ '',
196
+ '**Recomendacion:**',
197
+ `> ${recommendation}`,
198
+ '',
199
+ ].join('\n');
200
+ }
201
+ /**
202
+ * Genera una recomendacion concreta basada en el failureType.
203
+ */
204
+ buildRecommendation(pattern) {
205
+ const ft = pattern.failureType;
206
+ // Recomendaciones especificas por failureType
207
+ const recommendations = {
208
+ // Audit
209
+ missing_rollback: 'Siempre implementar rollback/compensacion para operaciones de escritura. Verificar que cada write/save tiene su contraparte de rollback.',
210
+ connection_leak: 'Verificar que todos los clientes HTTP/DB se cierren en finally blocks. Usar pattern try/finally o using.',
211
+ security_vulnerability: 'Revisar OWASP Top 10 antes de implementar autenticacion, autorizacion o manejo de inputs del usuario.',
212
+ missing_test_coverage: 'Todo nuevo metodo publico debe tener al menos un test unitario. Verificar cobertura antes de commitear.',
213
+ incomplete_error_handling: 'Toda funcion que pueda fallar debe tener try/catch con manejo explicito del error. No dejar errores sin manejar.',
214
+ architecture_violation: 'Revisar ADRs antes de implementar. Verificar que la implementacion respeta las decisiones arquitectonicas documentadas.',
215
+ hardcoded_secret: 'Nunca hardcodear secrets, API keys o tokens. Usar variables de entorno o un vault de secrets.',
216
+ // Test
217
+ tsc_noEmit_type_error: 'Ejecutar tsc --noEmit antes de cada commit. Los errores de tipo deben resolverse en el codigo, no con `as any`.',
218
+ coverage_below_threshold: 'No commitear si la cobertura baja del threshold. Agregar tests para el nuevo codigo ANTES de commitear.',
219
+ flaky_test: 'Los tests flaky deben marcarse como flaky y aislarse. No ignorarlos.',
220
+ test_without_assertion: 'Todo test debe tener al menos una assertion. Si no hay assertion, no es un test.',
221
+ // Commit
222
+ typecheck_failed_before_commit: 'Ejecutar type check antes de cada commit. No confiar solo en el IDE.',
223
+ test_failed_before_commit: 'Ejecutar tests antes de commitear. Si fallan, diagnosticar y corregir.',
224
+ branch_naming_invalid: 'Seguir la convencion de naming de ramas: feature/siglas_descripcion_fecha o fix/siglas_descripcion_fecha.',
225
+ // Agent
226
+ wrong_agent_selected: 'Verificar que el agente seleccionado sea el correcto para el dominio de la tarea. Usar capability matrix como referencia.',
227
+ agent_hallucination: 'Verificar que todas las APIs, metodos y paquetes referenciados existan realmente. No inventar funcionalidades.',
228
+ delegation_failed: 'Al delegar a otro agente, proporcionar contexto suficiente: archivos relevantes, historial y restricciones.',
229
+ tool_execution_failed: 'Verificar que las herramientas invocadas esten disponibles en el entorno actual.',
230
+ // Bootstrap
231
+ missing_config_yaml: 'Verificar que los archivos de configuracion existan antes de arrancar. Si no existen, ejecutar seed.',
232
+ memory_load_failure: 'Verificar que la memoria persistente este accesible. Si falla la carga, continuar con defaults.',
233
+ manifest_corrupt: 'Validar YAML antes de escribir el manifest. Usar patron tmp+rename para escritura atomica.',
234
+ };
235
+ return recommendations[ft]
236
+ ?? `Patron "${ft}" detectado ${pattern.count} veces. Revisar implementaciones previas para evitar repetir el mismo error.`;
237
+ }
238
+ /**
239
+ * Construye un checklist de auto-revision basado en los patrones detectados.
240
+ */
241
+ buildChecklist(patterns) {
242
+ const checks = [];
243
+ // Checklist general siempre presente
244
+ checks.push('### 1. Conexiones');
245
+ checks.push('- [ ] Si cree un EMISOR (write, save, persist), verifique que exista un RECEPTOR (read, load, subscribe)');
246
+ checks.push('- [ ] Si agrego un hook/punto de extension, esta cableado en algun lado?');
247
+ checks.push('');
248
+ checks.push('### 2. Logica');
249
+ checks.push('- [ ] Si uso includes(), verifique que NO matchee su propia negacion ("no hay X".includes("X") = true)');
250
+ checks.push('- [ ] Si hay scores/weights, la direccion es correcta? (mayor = mejor o mayor = peor?)');
251
+ checks.push('- [ ] Si hay if/else, los branches estan en el orden correcto?');
252
+ checks.push('');
253
+ checks.push('### 3. Robustez');
254
+ checks.push('- [ ] Todos los switch tienen caso default?');
255
+ checks.push('- [ ] Todos los catch tienen manejo del error (no estan vacios)?');
256
+ checks.push('- [ ] Las escrituras a archivo usan patron tmp+rename?');
257
+ // Checklist especifica por patrones detectados
258
+ const failureTypes = new Set(patterns.map(p => p.failureType));
259
+ if (failureTypes.has('missing_rollback')) {
260
+ checks.push('- [ ] Las operaciones de escritura tienen compensacion/rollback?');
261
+ }
262
+ if (failureTypes.has('security_vulnerability')) {
263
+ checks.push('- [ ] Se reviso OWASP Top 10 para esta implementacion?');
264
+ }
265
+ if (failureTypes.has('hardcoded_secret')) {
266
+ checks.push('- [ ] No hay secrets hardcodeados?');
267
+ }
268
+ return checks.join('\n');
269
+ }
270
+ formatFailureType(type) {
271
+ return type
272
+ .replace(/_/g, ' ')
273
+ .replace(/\b\w/g, c => c.toUpperCase());
274
+ }
275
+ getSeverityEmoji(severity) {
276
+ switch (severity) {
277
+ case 'critical': return 'CRITICAL';
278
+ case 'high': return 'HIGH';
279
+ case 'medium': return 'MEDIUM';
280
+ case 'low': return 'LOW';
281
+ default: return 'INFO';
282
+ }
283
+ }
284
+ }
285
+ exports.LessonsMemoGenerator = LessonsMemoGenerator;
286
+ //# sourceMappingURL=lessons-memo-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lessons-memo-generator.js","sourceRoot":"","sources":["../../src/reflection/lessons-memo-generator.ts"],"names":[],"mappings":"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"}