@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,262 @@
1
+ "use strict";
2
+ /**
3
+ * @description Policy Engine — Motor de reglas para el orquestador.
4
+ *
5
+ * Evalúa reglas contra un TaskContext y determina:
6
+ * - Qué agentes deben participar obligatoriamente
7
+ * - Qué gates son obligatorios
8
+ * - Qué skills deben ejecutarse
9
+ *
10
+ * Las reglas se cargan desde ~/.deepseek-code/policy-rules.yaml
11
+ * y se complementan con reglas built-in por defecto.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.evaluatePolicies = evaluatePolicies;
15
+ exports.applyPolicies = applyPolicies;
16
+ // ── Reglas built-in por defecto ──────────────────────────────────────────────
17
+ const DEFAULT_RULES = [
18
+ // Si es diseño → architecture-agent obligatorio
19
+ {
20
+ if: { actionType: 'design' },
21
+ then: {
22
+ mustInclude: ['architecture'],
23
+ requireArchitectureReview: true,
24
+ },
25
+ },
26
+ // Si es security_audit → security-agent obligatorio
27
+ {
28
+ if: { actionType: 'security_audit' },
29
+ then: {
30
+ mustInclude: ['security'],
31
+ requireSecurityReview: true,
32
+ },
33
+ },
34
+ // Si riskLevel es high o critical → QA obligatorio
35
+ {
36
+ if: { riskLevel: ['high', 'critical'] },
37
+ then: {
38
+ mustInclude: ['qa-engineer'],
39
+ requireQaApproval: true,
40
+ },
41
+ },
42
+ // Si riskLevel es critical → architecture review obligatorio
43
+ {
44
+ if: { riskLevel: 'critical' },
45
+ then: {
46
+ mustInclude: ['architecture'],
47
+ requireArchitectureReview: true,
48
+ },
49
+ },
50
+ // Si el dominio es security → security-agent obligatorio
51
+ {
52
+ if: { domain: 'security' },
53
+ then: {
54
+ mustInclude: ['security'],
55
+ requireSecurityReview: true,
56
+ },
57
+ },
58
+ // Si hay breaking change → architecture review obligatorio
59
+ {
60
+ if: { riskFactor: { breaking_change: true } },
61
+ then: {
62
+ mustInclude: ['architecture'],
63
+ requireArchitectureReview: true,
64
+ },
65
+ },
66
+ // Si es security_sensitive → security-agent obligatorio
67
+ {
68
+ if: { riskFactor: { security_sensitive: true } },
69
+ then: {
70
+ mustInclude: ['security'],
71
+ requireSecurityReview: true,
72
+ },
73
+ },
74
+ // Si es cross_service_impact → architecture review
75
+ {
76
+ if: { riskFactor: { cross_service_impact: true } },
77
+ then: {
78
+ mustInclude: ['architecture'],
79
+ requireArchitectureReview: true,
80
+ },
81
+ },
82
+ // Si es db_transactional → QA review
83
+ {
84
+ if: { riskFactor: { db_transactional: true } },
85
+ then: {
86
+ requireQaApproval: true,
87
+ },
88
+ },
89
+ // Si es test → QA como agente principal
90
+ {
91
+ if: { actionType: 'test' },
92
+ then: {
93
+ mustInclude: ['qa-engineer'],
94
+ },
95
+ },
96
+ // Si es refactor → QA review
97
+ {
98
+ if: { actionType: 'refactor' },
99
+ then: {
100
+ requireQaApproval: true,
101
+ },
102
+ },
103
+ ];
104
+ /**
105
+ * @description Evalúa todas las reglas contra un TaskContext.
106
+ *
107
+ * Las reglas personalizadas (de ~/.deepseek-code/policy-rules.yaml)
108
+ * tienen prioridad sobre las built-in. Si una regla personalizada
109
+ * coincide, se aplica en lugar de la built-in equivalente.
110
+ *
111
+ * @param task - TaskContext enriquecido con actionType, domains, riskLevel
112
+ * @param customRules - Reglas personalizadas (opcional, desde config)
113
+ * @returns Políticas aplicadas: agentes, gates y skills obligatorios
114
+ */
115
+ function evaluatePolicies(task, customRules, userInput = '') {
116
+ const rules = [...DEFAULT_RULES, ...(customRules ?? [])];
117
+ const mustInclude = new Set();
118
+ const requiredGates = new Set();
119
+ const mustExecute = new Set();
120
+ const appliedRules = [];
121
+ for (const rule of rules) {
122
+ if (matchesCondition(task, rule.if, userInput)) {
123
+ // Aplicar acción
124
+ if (rule.then.mustInclude) {
125
+ for (const agent of rule.then.mustInclude) {
126
+ mustInclude.add(agent);
127
+ }
128
+ }
129
+ if (rule.then.mustPass) {
130
+ for (const gate of rule.then.mustPass) {
131
+ if (gate === 'qa')
132
+ requiredGates.add('qa');
133
+ if (gate === 'security')
134
+ requiredGates.add('security');
135
+ if (gate === 'architecture')
136
+ requiredGates.add('architecture');
137
+ }
138
+ }
139
+ if (rule.then.mustExecute) {
140
+ for (const skill of rule.then.mustExecute) {
141
+ mustExecute.add(skill);
142
+ }
143
+ }
144
+ if (rule.then.requireArchitectureReview) {
145
+ requiredGates.add('architecture');
146
+ }
147
+ if (rule.then.requireSecurityReview) {
148
+ requiredGates.add('security');
149
+ }
150
+ if (rule.then.requireQaApproval) {
151
+ requiredGates.add('qa');
152
+ }
153
+ // Registrar regla aplicada
154
+ const reason = buildRuleReason(rule.if);
155
+ appliedRules.push({ rule: reason, reason });
156
+ }
157
+ }
158
+ return {
159
+ mustInclude: [...mustInclude],
160
+ requiredGates: [...requiredGates],
161
+ mustExecute: [...mustExecute],
162
+ appliedRules,
163
+ };
164
+ }
165
+ /**
166
+ * Verifica si un TaskContext cumple con una condición.
167
+ * userInput es el texto original del usuario — necesario para keywords matching.
168
+ */
169
+ function matchesCondition(task, condition, userInput = '') {
170
+ // Verificar actionType
171
+ if (condition.actionType) {
172
+ const types = Array.isArray(condition.actionType)
173
+ ? condition.actionType
174
+ : [condition.actionType];
175
+ if (!types.includes(task.actionType))
176
+ return false;
177
+ }
178
+ // Verificar riskLevel
179
+ if (condition.riskLevel) {
180
+ const levels = Array.isArray(condition.riskLevel)
181
+ ? condition.riskLevel
182
+ : [condition.riskLevel];
183
+ if (!levels.includes(task.riskLevel))
184
+ return false;
185
+ }
186
+ // Verificar domain
187
+ if (condition.domain) {
188
+ const domains = Array.isArray(condition.domain)
189
+ ? condition.domain
190
+ : [condition.domain];
191
+ const hasDomain = domains.some(d => task.domains.includes(d));
192
+ if (!hasDomain)
193
+ return false;
194
+ }
195
+ // Verificar riskFactor
196
+ if (condition.riskFactor) {
197
+ for (const [factor, value] of Object.entries(condition.riskFactor)) {
198
+ const taskValue = task.riskFactors[factor];
199
+ if (taskValue !== value)
200
+ return false;
201
+ }
202
+ }
203
+ // Verificar keywords en el mensaje original del usuario (OR logic, case-insensitive)
204
+ if (condition.keywords?.length) {
205
+ const msg = userInput.toLowerCase();
206
+ const matches = condition.keywords.some(kw => msg.includes(kw.toLowerCase()));
207
+ if (!matches)
208
+ return false;
209
+ }
210
+ return true;
211
+ }
212
+ /**
213
+ * Construye una descripción legible de la regla aplicada.
214
+ */
215
+ function buildRuleReason(condition) {
216
+ const parts = [];
217
+ if (condition.actionType) {
218
+ const types = Array.isArray(condition.actionType)
219
+ ? condition.actionType.join(' | ')
220
+ : condition.actionType;
221
+ parts.push(`actionType=${types}`);
222
+ }
223
+ if (condition.riskLevel) {
224
+ const levels = Array.isArray(condition.riskLevel)
225
+ ? condition.riskLevel.join(' | ')
226
+ : condition.riskLevel;
227
+ parts.push(`riskLevel=${levels}`);
228
+ }
229
+ if (condition.domain) {
230
+ const domains = Array.isArray(condition.domain)
231
+ ? condition.domain.join(' | ')
232
+ : condition.domain;
233
+ parts.push(`domain=${domains}`);
234
+ }
235
+ if (condition.riskFactor) {
236
+ for (const [k, v] of Object.entries(condition.riskFactor)) {
237
+ parts.push(`${k}=${v}`);
238
+ }
239
+ }
240
+ if (condition.keywords?.length) {
241
+ parts.push(`keywords=[${condition.keywords.join(', ')}]`);
242
+ }
243
+ return parts.length > 0 ? parts.join(', ') : 'regla generica';
244
+ }
245
+ /**
246
+ * @description Aplica políticas a un TaskContext y produce un resultado completo.
247
+ * Es el entry point principal para el orquestador.
248
+ */
249
+ function applyPolicies(task, customRules, userInput = '') {
250
+ const result = evaluatePolicies(task, customRules, userInput);
251
+ // Enriquecer task con los resultados
252
+ const enrichedTask = {
253
+ ...task,
254
+ assignedAgents: [...new Set([...task.assignedAgents, ...result.mustInclude])],
255
+ requiresArchitectureReview: task.requiresArchitectureReview || result.requiredGates.includes('architecture'),
256
+ requiresSecurityReview: task.requiresSecurityReview || result.requiredGates.includes('security'),
257
+ requiresQaApproval: task.requiresQaApproval || result.requiredGates.includes('qa'),
258
+ updatedAt: new Date(),
259
+ };
260
+ return { task: enrichedTask, result };
261
+ }
262
+ //# sourceMappingURL=policy-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-engine.js","sourceRoot":"","sources":["../../src/orchestration/policy-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @description Risk Scorer — Calcula el nivel de riesgo técnico de una tarea.
3
+ *
4
+ * Evalúa múltiples factores (breaking change, seguridad, impacto entre
5
+ * servicios, transaccionalidad, criticidad en producción) y produce
6
+ * un score numérico [0-100] que determina el riskLevel.
7
+ *
8
+ * El score se usa en el Policy Engine para decidir qué gates son
9
+ * obligatorios y qué agentes deben participar.
10
+ */
11
+ import { RiskFactors, RiskLevel, TaskContext } from './task-context';
12
+ import { OrchestratorConfig } from './types';
13
+ export interface RiskScoreResult {
14
+ riskLevel: RiskLevel;
15
+ riskFactors: RiskFactors;
16
+ totalScore: number;
17
+ breakdown: Array<{
18
+ factor: string;
19
+ score: number;
20
+ weight: number;
21
+ }>;
22
+ }
23
+ /**
24
+ * @description Calcula el nivel de riesgo de una tarea basado en el input.
25
+ *
26
+ * Analiza el texto del usuario para detectar factores de riesgo y
27
+ * calcula un score ponderado usando los pesos de la configuración.
28
+ *
29
+ * @param input - Texto del usuario
30
+ * @param config - Configuración del orquestador (opcional)
31
+ * @returns RiskScoreResult con nivel, factores y desglose
32
+ */
33
+ export declare function calculateRisk(input: string, config?: OrchestratorConfig): RiskScoreResult;
34
+ /**
35
+ * @description Enriquce un TaskContext con el riesgo calculado.
36
+ */
37
+ export declare function enrichTaskWithRisk(task: TaskContext, config?: OrchestratorConfig): TaskContext;
38
+ //# sourceMappingURL=risk-scorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"risk-scorer.d.ts","sourceRoot":"","sources":["../../src/orchestration/risk-scorer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAA6B,MAAM,SAAS,CAAC;AA2DxE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CA4DjB;AAYD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,EACjB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,WAAW,CAWb"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ /**
3
+ * @description Risk Scorer — Calcula el nivel de riesgo técnico de una tarea.
4
+ *
5
+ * Evalúa múltiples factores (breaking change, seguridad, impacto entre
6
+ * servicios, transaccionalidad, criticidad en producción) y produce
7
+ * un score numérico [0-100] que determina el riskLevel.
8
+ *
9
+ * El score se usa en el Policy Engine para decidir qué gates son
10
+ * obligatorios y qué agentes deben participar.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.calculateRisk = calculateRisk;
14
+ exports.enrichTaskWithRisk = enrichTaskWithRisk;
15
+ const types_1 = require("./types");
16
+ const keyword_match_1 = require("./keyword-match");
17
+ const RISK_KEYWORDS = [
18
+ // breaking_change
19
+ { words: ['breaking change', 'breaking', 'rompe', 'incompatible'], factor: 'breaking_change', increment: 1 },
20
+ { words: ['migrar', 'migración', 'migracion', 'cambiar api'], factor: 'breaking_change', increment: 1 },
21
+ { words: ['deprecar', 'deprecated', 'obsoleto'], factor: 'breaking_change', increment: 1 },
22
+ { words: ['renombrar', 'rename', 'cambiar nombre'], factor: 'breaking_change', increment: 1 },
23
+ // security_sensitive
24
+ { words: ['token', 'jwt', 'contraseña', 'password', 'secreto'], factor: 'security_sensitive', increment: 1 },
25
+ { words: ['autenticación', 'autenticacion', 'login', 'register'], factor: 'security_sensitive', increment: 1 },
26
+ { words: ['autorización', 'autorizacion', 'permiso', 'rol'], factor: 'security_sensitive', increment: 1 },
27
+ { words: ['datos sensibles', 'pii', 'privacidad', 'gdpr'], factor: 'security_sensitive', increment: 1 },
28
+ { words: ['cifrado', 'encriptar', 'hash', 'bcrypt'], factor: 'security_sensitive', increment: 1 },
29
+ { words: ['api key', 'apikey', 'secret'], factor: 'security_sensitive', increment: 1 },
30
+ // cross_service_impact
31
+ { words: ['microservicio', 'servicio externo', 'otro servicio'], factor: 'cross_service_impact', increment: 1 },
32
+ { words: ['api externa', 'integración', 'integracion', 'tercero'], factor: 'cross_service_impact', increment: 1 },
33
+ { words: ['webhook', 'callback', 'evento', 'event'], factor: 'cross_service_impact', increment: 1 },
34
+ { words: ['saga', 'orquestación', 'coreografía'], factor: 'cross_service_impact', increment: 1 },
35
+ // db_transactional
36
+ { words: ['base de datos', 'bd', 'database', 'db'], factor: 'db_transactional', increment: 1 },
37
+ { words: ['migración', 'migracion', 'schema', 'esquema', 'tabla'], factor: 'db_transactional', increment: 1 },
38
+ { words: ['transacción', 'transaccion', 'transaction', 'rollback'], factor: 'db_transactional', increment: 1 },
39
+ { words: ['consulta', 'query', 'join', 'índice', 'indice'], factor: 'db_transactional', increment: 1 },
40
+ { words: ['modelo de datos', 'entidad', 'entity', 'relación'], factor: 'db_transactional', increment: 1 },
41
+ // production_critical
42
+ { words: ['producción', 'produccion', 'production', 'prod'], factor: 'production_critical', increment: 1 },
43
+ { words: ['deploy', 'despliegue', 'release', 'lanzar'], factor: 'production_critical', increment: 1 },
44
+ { words: ['crítico', 'critico', 'urgente', 'emergencia'], factor: 'production_critical', increment: 1 },
45
+ { words: ['rollback', 'hotfix', 'parche'], factor: 'production_critical', increment: 1 },
46
+ ];
47
+ // ── Complexity keywords ──────────────────────────────────────────────────────
48
+ const COMPLEXITY_KEYWORDS = [
49
+ { words: ['simple', 'sencillo', 'fácil', 'trivial', 'pequeño'], level: 1 },
50
+ { words: ['medio', 'moderado', 'normal', 'estándar'], level: 4 },
51
+ { words: ['complejo', 'complicado', 'difícil', 'elaborado'], level: 7 },
52
+ { words: ['muy complejo', 'altamente', 'sofisticado', 'crítico'], level: 10 },
53
+ ];
54
+ /**
55
+ * @description Calcula el nivel de riesgo de una tarea basado en el input.
56
+ *
57
+ * Analiza el texto del usuario para detectar factores de riesgo y
58
+ * calcula un score ponderado usando los pesos de la configuración.
59
+ *
60
+ * @param input - Texto del usuario
61
+ * @param config - Configuración del orquestador (opcional)
62
+ * @returns RiskScoreResult con nivel, factores y desglose
63
+ */
64
+ function calculateRisk(input, config) {
65
+ const cfg = config ?? (0, types_1.defaultOrchestratorConfig)();
66
+ const lower = input.toLowerCase();
67
+ // 1. Detectar factores de riesgo por keywords
68
+ const factors = {
69
+ breaking_change: false,
70
+ security_sensitive: false,
71
+ cross_service_impact: false,
72
+ db_transactional: false,
73
+ production_critical: false,
74
+ complexity: 1,
75
+ };
76
+ const usedTerms = new Set();
77
+ for (const rk of RISK_KEYWORDS) {
78
+ for (const word of rk.words) {
79
+ if (!usedTerms.has(word) && (0, keyword_match_1.matchesKeyword)(lower, word)) {
80
+ usedTerms.add(word);
81
+ if (rk.factor === 'complexity') {
82
+ factors.complexity = Math.min(10, factors.complexity + rk.increment);
83
+ }
84
+ else {
85
+ factors[rk.factor] = true;
86
+ }
87
+ break;
88
+ }
89
+ }
90
+ }
91
+ // 2. Detectar nivel de complejidad
92
+ for (const ck of COMPLEXITY_KEYWORDS) {
93
+ for (const word of ck.words) {
94
+ if ((0, keyword_match_1.matchesKeyword)(lower, word)) {
95
+ factors.complexity = Math.max(factors.complexity, ck.level);
96
+ break;
97
+ }
98
+ }
99
+ }
100
+ // 3. Calcular score ponderado
101
+ const breakdown = [];
102
+ let totalScore = 0;
103
+ for (const [factor, value] of Object.entries(factors)) {
104
+ const weight = cfg.riskWeights[factor] ?? 0;
105
+ const score = typeof value === 'boolean' ? (value ? weight : 0) : value * (cfg.riskWeights.complexity ?? 1);
106
+ totalScore += score;
107
+ breakdown.push({ factor, score, weight });
108
+ }
109
+ // 4. Determinar nivel de riesgo
110
+ const riskLevel = getRiskLevel(totalScore, cfg);
111
+ return {
112
+ riskLevel,
113
+ riskFactors: factors,
114
+ totalScore,
115
+ breakdown,
116
+ };
117
+ }
118
+ /**
119
+ * Determina el nivel de riesgo basado en el score total.
120
+ */
121
+ function getRiskLevel(score, config) {
122
+ if (score >= config.riskThresholds.critical)
123
+ return 'critical';
124
+ if (score >= config.riskThresholds.high)
125
+ return 'high';
126
+ if (score >= config.riskThresholds.medium)
127
+ return 'medium';
128
+ return 'low';
129
+ }
130
+ /**
131
+ * @description Enriquce un TaskContext con el riesgo calculado.
132
+ */
133
+ function enrichTaskWithRisk(task, config) {
134
+ const result = calculateRisk(task.rawPrompt, config);
135
+ return {
136
+ ...task,
137
+ riskLevel: result.riskLevel,
138
+ riskFactors: result.riskFactors,
139
+ requiresArchitectureReview: result.riskLevel === 'critical' || result.riskLevel === 'high',
140
+ requiresSecurityReview: result.riskFactors.security_sensitive,
141
+ requiresQaApproval: result.riskLevel === 'high' || result.riskLevel === 'critical',
142
+ updatedAt: new Date(),
143
+ };
144
+ }
145
+ //# sourceMappingURL=risk-scorer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"risk-scorer.js","sourceRoot":"","sources":["../../src/orchestration/risk-scorer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * @description TaskContext — Esquema formal de tarea para el orquestador.
3
+ *
4
+ * Transforma texto libre del usuario en una estructura tipada que el sistema
5
+ * puede procesar con políticas, scoring y routing deterministas.
6
+ *
7
+ * Cada tarea pasa por: Intent Detection → Domain Detection → Risk Scoring
8
+ * → Policy Engine → Agent Routing → FSM.
9
+ *
10
+ * @see {@link https://agentskills.io/specification} para el estándar de skills
11
+ */
12
+ /**
13
+ * Tipos de acción que el sistema puede clasificar.
14
+ * Cada acción define qué tipo de procesamiento se necesita.
15
+ */
16
+ export type ActionType = 'design' | 'implementation' | 'review' | 'security_audit' | 'documentation' | 'refactor' | 'bugfix' | 'test' | 'research' | 'optimize' | 'deploy' | 'unknown';
17
+ export type RiskLevel = 'low' | 'medium' | 'high' | 'critical';
18
+ export type TaskStatus = 'new' | 'classified' | 'design_review' | 'implementation' | 'security_review' | 'qa_review' | 'rework_required' | 'approved' | 'commit_allowed' | 'rejected' | 'commit_planning' | 'commit_reviewing' | 'commit_validated' | 'commit_rejected' | 'commit_failed' | 'commit_skipped';
19
+ export type ConventionalCommitType = 'feat' | 'fix' | 'refactor' | 'test' | 'docs' | 'chore' | 'style' | 'perf' | 'ci' | 'build' | 'revert';
20
+ export interface CommitPlan {
21
+ /** Tipo de commit convencional */
22
+ type: ConventionalCommitType;
23
+ /** Scope basado en el módulo afectado (ej: 'orchestrator', 'cli', 'fsm') */
24
+ scope: string;
25
+ /** Descripción corta en imperativo (< 72 chars) */
26
+ description: string;
27
+ /** Cuerpo opcional con detalles */
28
+ body?: string;
29
+ /** Si es breaking change */
30
+ breaking: boolean;
31
+ }
32
+ export interface RiskFactors {
33
+ /** Cambia APIs públicas o contratos existentes */
34
+ breaking_change: boolean;
35
+ /** Afecta autenticación, autorización, datos sensibles */
36
+ security_sensitive: boolean;
37
+ /** Impacta múltiples servicios */
38
+ cross_service_impact: boolean;
39
+ /** Modifica esquemas de base de datos o consultas transaccionales */
40
+ db_transactional: boolean;
41
+ /** Afecta código en producción */
42
+ production_critical: boolean;
43
+ /** Complejidad estimada (1-10) */
44
+ complexity: number;
45
+ }
46
+ /**
47
+ * @description Representación formal de una tarea del usuario.
48
+ *
49
+ * El orquestador convierte el input del usuario en un TaskContext
50
+ * que luego es procesado por el Policy Engine, Capability Matrix
51
+ * y FSM para determinar qué agentes participan y qué gates aplicar.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * const task: TaskContext = {
56
+ * taskId: 'task_abc123',
57
+ * rawPrompt: 'Agregar circuit breaker para ServiceNow',
58
+ * actionType: 'implementation',
59
+ * domains: ['resilience', 'backend', 'integration'],
60
+ * riskLevel: 'high',
61
+ * riskFactors: {
62
+ * breaking_change: false,
63
+ * security_sensitive: false,
64
+ * cross_service_impact: true,
65
+ * db_transactional: false,
66
+ * production_critical: true,
67
+ * complexity: 7,
68
+ * },
69
+ * requiresArchitectureReview: true,
70
+ * requiresSecurityReview: false,
71
+ * requiresQaApproval: true,
72
+ * targetServices: ['api-gateway', 'snowq-service'],
73
+ * relatedPatterns: ['circuit-breaker', 'retry-backoff'],
74
+ * status: 'new',
75
+ * assignedAgents: [],
76
+ * };
77
+ * ```
78
+ */
79
+ export interface TaskContext {
80
+ /** ID único de la tarea */
81
+ taskId: string;
82
+ /** Prompt original del usuario */
83
+ rawPrompt: string;
84
+ /** Tipo de acción clasificada */
85
+ actionType: ActionType;
86
+ /** Dominios detectados (bounded contexts) */
87
+ domains: string[];
88
+ /** Nivel de riesgo calculado */
89
+ riskLevel: RiskLevel;
90
+ /** Factores de riesgo detallados */
91
+ riskFactors: RiskFactors;
92
+ /** Indica si requiere revisión de arquitectura */
93
+ requiresArchitectureReview: boolean;
94
+ /** Indica si requiere revisión de seguridad */
95
+ requiresSecurityReview: boolean;
96
+ /** Indica si requiere aprobación de QA */
97
+ requiresQaApproval: boolean;
98
+ /** Servicios objetivo (si se detectan) */
99
+ targetServices: string[];
100
+ /** Patrones relacionados del vault */
101
+ relatedPatterns: string[];
102
+ /** Estado actual en la FSM */
103
+ status: TaskStatus;
104
+ /** Agentes asignados a la tarea */
105
+ assignedAgents: string[];
106
+ /** Archivos relevantes detectados para la tarea */
107
+ relevantFiles?: string[];
108
+ /** Plan de commit generado por Architecture agent */
109
+ commitPlan?: CommitPlan;
110
+ /** Timestamp de creación */
111
+ createdAt: Date;
112
+ /** Timestamp de última actualización */
113
+ updatedAt: Date;
114
+ }
115
+ /**
116
+ * @description Solicitud de delegación estructurada entre agentes.
117
+ * Reemplaza el mecanismo plano de ask_agent con un handoff formal
118
+ * que incluye contexto, entregables esperados y timeout.
119
+ */
120
+ export interface DelegationRequest {
121
+ /** ID único de la solicitud de delegación */
122
+ requestId: string;
123
+ /** ID del agente que delega (origen) */
124
+ fromAgentId: string;
125
+ /** ID del agente especialista (destino) */
126
+ toAgentId: string;
127
+ /** Contexto compartido con el especialista */
128
+ context: {
129
+ taskId: string;
130
+ question: string;
131
+ relevantFiles: string[];
132
+ previousDelegations?: DelegationResult[];
133
+ };
134
+ /** Momento en que se crea la solicitud */
135
+ timestamp: Date;
136
+ /** Timeout en ms para considerar fallo (default: 30000) */
137
+ timeoutMs: number;
138
+ /** Profundidad de delegación (0 = primera delegación). Máximo permitido: 3 */
139
+ hopCount?: number;
140
+ }
141
+ /**
142
+ * @description Resultado de una delegación ejecutada por un agente especialista.
143
+ * Incluye el contenido de la respuesta y un sello de completitud
144
+ * que garantiza que el especialista terminó su análisis.
145
+ */
146
+ export interface DelegationResult {
147
+ /** Mismo requestId que la solicitud */
148
+ requestId: string;
149
+ /** ID del agente que ejecutó (destino) */
150
+ agentId: string;
151
+ /** Resultado textual del especialista */
152
+ result: string;
153
+ /** Sello de completitud */
154
+ completionStamp: {
155
+ status: 'completed' | 'partial' | 'failed';
156
+ summary: string;
157
+ suggestedFollowUp?: string;
158
+ filesTouched: string[];
159
+ };
160
+ /** Momento en que se completó */
161
+ completedAt: Date;
162
+ /** Si hubo error, descripción */
163
+ error?: string;
164
+ }
165
+ /**
166
+ * @description Detecta el scope del commit a partir de los archivos staged.
167
+ * Analiza las rutas de los archivos y determina el módulo afectado.
168
+ *
169
+ * @param stagedFiles - Lista de rutas de archivos staged
170
+ * @returns Scope detectado (ej: 'cli', 'orchestrator', 'api', etc.)
171
+ *
172
+ * @example
173
+ * ```ts
174
+ * detectScopeFromFiles(['bin/cli.ts', 'src/ui/formatters.ts']);
175
+ * // → 'cli'
176
+ *
177
+ * detectScopeFromFiles(['src/orchestrator/fsm.ts', 'src/types/task-context.ts']);
178
+ * // → 'core'
179
+ * ```
180
+ */
181
+ export declare function detectScopeFromFiles(stagedFiles: string[]): string;
182
+ /**
183
+ * Crea un TaskContext con valores por defecto.
184
+ * Útil para tests y para inicializar desde el detector de intents.
185
+ */
186
+ export declare function createTaskContext(rawPrompt: string): TaskContext;
187
+ /**
188
+ * Actualiza el timestamp de una tarea.
189
+ */
190
+ export declare function touchTask(task: TaskContext): TaskContext;
191
+ /**
192
+ * Cambia el estado de una tarea y actualiza timestamp.
193
+ */
194
+ export declare function transitionTask(task: TaskContext, newStatus: TaskStatus): TaskContext;
195
+ //# sourceMappingURL=task-context.d.ts.map