atabey 0.0.11 → 0.0.13

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 (522) hide show
  1. package/ATABEY.md +52 -249
  2. package/PRIVACY.md +161 -0
  3. package/README.md +355 -140
  4. package/bin/completion.sh +30 -0
  5. package/bin/{validate-agent-army.js → validate-al-registry.js} +6 -6
  6. package/dist/framework-mcp/src/index.js +14 -2
  7. package/dist/framework-mcp/src/index.js.map +1 -1
  8. package/dist/framework-mcp/src/resources/index.js +5 -5
  9. package/dist/framework-mcp/src/resources/index.js.map +1 -1
  10. package/dist/framework-mcp/src/tools/control_plane/locking.d.ts +1 -1
  11. package/dist/framework-mcp/src/tools/control_plane/locking.js +11 -9
  12. package/dist/framework-mcp/src/tools/control_plane/locking.js.map +1 -1
  13. package/dist/framework-mcp/src/tools/definitions.d.ts +5 -0
  14. package/dist/framework-mcp/src/tools/definitions.js +116 -241
  15. package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
  16. package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +4 -4
  17. package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +1 -1
  18. package/dist/framework-mcp/src/tools/file_system/read_file.js +1 -1
  19. package/dist/framework-mcp/src/tools/file_system/replace_text.js +3 -3
  20. package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -1
  21. package/dist/framework-mcp/src/tools/file_system/write_file.d.ts +1 -1
  22. package/dist/framework-mcp/src/tools/file_system/write_file.js +4 -4
  23. package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
  24. package/dist/framework-mcp/src/tools/framework/audit_deps.js +1 -1
  25. package/dist/framework-mcp/src/tools/framework/audit_deps.js.map +1 -1
  26. package/dist/framework-mcp/src/tools/framework/submit_plan.d.ts +4 -3
  27. package/dist/framework-mcp/src/tools/framework/submit_plan.js.map +1 -1
  28. package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.d.ts +19 -0
  29. package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js +138 -0
  30. package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js.map +1 -0
  31. package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.d.ts +8 -0
  32. package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js +91 -0
  33. package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js.map +1 -0
  34. package/dist/framework-mcp/src/tools/index.d.ts +2 -0
  35. package/dist/framework-mcp/src/tools/index.js +81 -17
  36. package/dist/framework-mcp/src/tools/index.js.map +1 -1
  37. package/dist/framework-mcp/src/tools/memory/delete_knowledge.d.ts +8 -0
  38. package/dist/framework-mcp/src/tools/memory/delete_knowledge.js +29 -0
  39. package/dist/framework-mcp/src/tools/memory/delete_knowledge.js.map +1 -0
  40. package/dist/framework-mcp/src/tools/memory/read_memory.js +1 -1
  41. package/dist/framework-mcp/src/tools/memory/read_memory.js.map +1 -1
  42. package/dist/framework-mcp/src/tools/memory/search_knowledge.d.ts +8 -0
  43. package/dist/framework-mcp/src/tools/memory/search_knowledge.js +49 -0
  44. package/dist/framework-mcp/src/tools/memory/search_knowledge.js.map +1 -0
  45. package/dist/framework-mcp/src/tools/memory/store_knowledge.d.ts +10 -0
  46. package/dist/framework-mcp/src/tools/memory/store_knowledge.js +31 -0
  47. package/dist/framework-mcp/src/tools/memory/store_knowledge.js.map +1 -0
  48. package/dist/framework-mcp/src/tools/messaging/ask_human.d.ts +6 -0
  49. package/dist/framework-mcp/src/tools/messaging/ask_human.js +31 -0
  50. package/dist/framework-mcp/src/tools/messaging/ask_human.js.map +1 -0
  51. package/dist/framework-mcp/src/tools/observability/check_ports.js +1 -1
  52. package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
  53. package/dist/framework-mcp/src/tools/observability/get_health.js +1 -1
  54. package/dist/framework-mcp/src/tools/quality/analyze_code_quality.d.ts +11 -0
  55. package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +166 -0
  56. package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js.map +1 -0
  57. package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.d.ts +11 -0
  58. package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js +135 -0
  59. package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js.map +1 -0
  60. package/dist/framework-mcp/src/tools/schemas.d.ts +439 -0
  61. package/dist/framework-mcp/src/tools/schemas.js +183 -0
  62. package/dist/framework-mcp/src/tools/schemas.js.map +1 -0
  63. package/dist/framework-mcp/src/tools/search/get_map.js +2 -2
  64. package/dist/framework-mcp/src/tools/search/get_map.js.map +1 -1
  65. package/dist/framework-mcp/src/tools/search/grep_search.js +10 -7
  66. package/dist/framework-mcp/src/tools/search/grep_search.js.map +1 -1
  67. package/dist/framework-mcp/src/tools/shell/run_command.js +72 -7
  68. package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -1
  69. package/dist/framework-mcp/src/tools/types.d.ts +10 -9
  70. package/dist/framework-mcp/src/utils/compliance.d.ts +10 -0
  71. package/dist/framework-mcp/src/utils/compliance.js +102 -41
  72. package/dist/framework-mcp/src/utils/compliance.js.map +1 -1
  73. package/dist/framework-mcp/src/utils/fs.d.ts +10 -7
  74. package/dist/framework-mcp/src/utils/fs.js +10 -7
  75. package/dist/framework-mcp/src/utils/fs.js.map +1 -1
  76. package/dist/framework-mcp/src/utils/types.d.ts +8 -0
  77. package/dist/framework-mcp/src/utils/types.js +4 -0
  78. package/dist/framework-mcp/src/utils/types.js.map +1 -1
  79. package/dist/framework-mcp/src/utils/zod-to-mcp.d.ts +10 -0
  80. package/dist/framework-mcp/src/utils/zod-to-mcp.js +80 -0
  81. package/dist/framework-mcp/src/utils/zod-to-mcp.js.map +1 -0
  82. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +4 -4
  83. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
  84. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +17 -16
  85. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
  86. package/dist/src/cli/adapters/core.js +2 -1
  87. package/dist/src/cli/adapters/core.js.map +1 -1
  88. package/dist/src/cli/adapters/scaffold.js +2 -1
  89. package/dist/src/cli/adapters/scaffold.js.map +1 -1
  90. package/dist/src/cli/commands/check.js +17 -17
  91. package/dist/src/cli/commands/check.js.map +1 -1
  92. package/dist/src/cli/commands/compliance.d.ts +5 -1
  93. package/dist/src/cli/commands/compliance.js +34 -42
  94. package/dist/src/cli/commands/compliance.js.map +1 -1
  95. package/dist/src/cli/commands/contract.js +6 -5
  96. package/dist/src/cli/commands/contract.js.map +1 -1
  97. package/dist/src/cli/commands/coverage.d.ts +1 -0
  98. package/dist/src/cli/commands/coverage.js +121 -0
  99. package/dist/src/cli/commands/coverage.js.map +1 -0
  100. package/dist/src/cli/commands/dashboard.d.ts +1 -1
  101. package/dist/src/cli/commands/dashboard.js +479 -39
  102. package/dist/src/cli/commands/dashboard.js.map +1 -1
  103. package/dist/src/cli/commands/explorer.js +8 -7
  104. package/dist/src/cli/commands/explorer.js.map +1 -1
  105. package/dist/src/cli/commands/gateway.d.ts +1 -0
  106. package/dist/src/cli/commands/gateway.js +172 -0
  107. package/dist/src/cli/commands/gateway.js.map +1 -0
  108. package/dist/src/cli/commands/git.js +8 -9
  109. package/dist/src/cli/commands/git.js.map +1 -1
  110. package/dist/src/cli/commands/index-codebase.d.ts +4 -0
  111. package/dist/src/cli/commands/index-codebase.js +52 -0
  112. package/dist/src/cli/commands/index-codebase.js.map +1 -0
  113. package/dist/src/cli/commands/init/create-agent.js +3 -3
  114. package/dist/src/cli/commands/init/create-agent.js.map +1 -1
  115. package/dist/src/cli/commands/init/scaffold-core.d.ts +1 -1
  116. package/dist/src/cli/commands/init/scaffold-core.js +7 -6
  117. package/dist/src/cli/commands/init/scaffold-core.js.map +1 -1
  118. package/dist/src/cli/commands/init/scaffold-docs.js +4 -3
  119. package/dist/src/cli/commands/init/scaffold-docs.js.map +1 -1
  120. package/dist/src/cli/commands/init/scaffold-ops.js +3 -3
  121. package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -1
  122. package/dist/src/cli/commands/init/scaffold-standards.js +11 -7
  123. package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
  124. package/dist/src/cli/commands/init.d.ts +2 -0
  125. package/dist/src/cli/commands/init.js +127 -45
  126. package/dist/src/cli/commands/init.js.map +1 -1
  127. package/dist/src/cli/commands/knowledge.js +5 -32
  128. package/dist/src/cli/commands/knowledge.js.map +1 -1
  129. package/dist/src/cli/commands/lint.js +5 -4
  130. package/dist/src/cli/commands/lint.js.map +1 -1
  131. package/dist/src/cli/commands/mcp.d.ts +11 -0
  132. package/dist/src/cli/commands/mcp.js +130 -0
  133. package/dist/src/cli/commands/mcp.js.map +1 -0
  134. package/dist/src/cli/commands/orchestrate.d.ts +10 -9
  135. package/dist/src/cli/commands/orchestrate.js +132 -66
  136. package/dist/src/cli/commands/orchestrate.js.map +1 -1
  137. package/dist/src/cli/commands/plan.js +16 -14
  138. package/dist/src/cli/commands/plan.js.map +1 -1
  139. package/dist/src/cli/commands/quickstart.d.ts +9 -0
  140. package/dist/src/cli/commands/quickstart.js +72 -0
  141. package/dist/src/cli/commands/quickstart.js.map +1 -0
  142. package/dist/src/cli/commands/script.js +6 -5
  143. package/dist/src/cli/commands/script.js.map +1 -1
  144. package/dist/src/cli/commands/security.js +5 -8
  145. package/dist/src/cli/commands/security.js.map +1 -1
  146. package/dist/src/cli/commands/status.js +23 -19
  147. package/dist/src/cli/commands/status.js.map +1 -1
  148. package/dist/src/cli/commands/trace.d.ts +2 -0
  149. package/dist/src/cli/commands/trace.js +59 -61
  150. package/dist/src/cli/commands/trace.js.map +1 -1
  151. package/dist/src/cli/index.js +236 -294
  152. package/dist/src/cli/index.js.map +1 -1
  153. package/dist/src/cli/platforms/core.d.ts +12 -0
  154. package/dist/src/cli/platforms/core.js +73 -0
  155. package/dist/src/cli/platforms/core.js.map +1 -0
  156. package/dist/src/cli/platforms/index.d.ts +5 -0
  157. package/dist/src/cli/platforms/index.js +6 -0
  158. package/dist/src/cli/platforms/index.js.map +1 -0
  159. package/dist/src/cli/platforms/paths.d.ts +15 -0
  160. package/dist/src/cli/platforms/paths.js +102 -0
  161. package/dist/src/cli/platforms/paths.js.map +1 -0
  162. package/dist/src/cli/platforms/scaffold.d.ts +2 -0
  163. package/dist/src/cli/platforms/scaffold.js +73 -0
  164. package/dist/src/cli/platforms/scaffold.js.map +1 -0
  165. package/dist/src/cli/platforms/utils.d.ts +4 -0
  166. package/dist/src/cli/platforms/utils.js +76 -0
  167. package/dist/src/cli/platforms/utils.js.map +1 -0
  168. package/dist/src/cli/shims.js +5 -5
  169. package/dist/src/cli/utils/claude.js +2 -1
  170. package/dist/src/cli/utils/claude.js.map +1 -1
  171. package/dist/src/cli/utils/compliance.d.ts +10 -9
  172. package/dist/src/cli/utils/compliance.js +10 -171
  173. package/dist/src/cli/utils/compliance.js.map +1 -1
  174. package/dist/src/cli/utils/fs.d.ts +3 -3
  175. package/dist/src/cli/utils/fs.js +8 -7
  176. package/dist/src/cli/utils/fs.js.map +1 -1
  177. package/dist/src/cli/utils/i18n.d.ts +5 -0
  178. package/dist/src/cli/utils/i18n.js +5 -0
  179. package/dist/src/cli/utils/i18n.js.map +1 -1
  180. package/dist/src/cli/utils/memory.js +9 -6
  181. package/dist/src/cli/utils/memory.js.map +1 -1
  182. package/dist/src/cli/utils/pkg.js +8 -7
  183. package/dist/src/cli/utils/pkg.js.map +1 -1
  184. package/dist/src/cli/utils/schemas.d.ts +4 -4
  185. package/dist/src/cli/utils/ui.d.ts +23 -0
  186. package/dist/src/cli/utils/ui.js +42 -0
  187. package/dist/src/cli/utils/ui.js.map +1 -1
  188. package/dist/src/contracts/tasks.d.ts +4 -4
  189. package/dist/src/dashboard/src/hooks/useApi.d.ts +18 -0
  190. package/dist/src/dashboard/src/hooks/useApi.js +47 -0
  191. package/dist/src/dashboard/src/hooks/useApi.js.map +1 -0
  192. package/dist/src/dashboard/src/hooks/useSSE.d.ts +12 -0
  193. package/dist/src/dashboard/src/hooks/useSSE.js +60 -0
  194. package/dist/src/dashboard/src/hooks/useSSE.js.map +1 -0
  195. package/dist/src/modules/adapters/shared.js +3 -3
  196. package/dist/src/modules/adapters/shared.js.map +1 -1
  197. package/dist/src/modules/agents/definitions.d.ts +5 -13
  198. package/dist/src/modules/agents/definitions.js +179 -78
  199. package/dist/src/modules/agents/definitions.js.map +1 -1
  200. package/dist/src/modules/agents/registry/analyst.js +2 -1
  201. package/dist/src/modules/agents/registry/analyst.js.map +1 -1
  202. package/dist/src/modules/agents/registry/architect.js +1 -0
  203. package/dist/src/modules/agents/registry/architect.js.map +1 -1
  204. package/dist/src/modules/agents/registry/backend.js +8 -6
  205. package/dist/src/modules/agents/registry/backend.js.map +1 -1
  206. package/dist/src/modules/agents/registry/database.js.map +1 -1
  207. package/dist/src/modules/agents/registry/devops.js.map +1 -1
  208. package/dist/src/modules/agents/registry/explorer.js +2 -0
  209. package/dist/src/modules/agents/registry/explorer.js.map +1 -1
  210. package/dist/src/modules/agents/registry/frontend.js +8 -6
  211. package/dist/src/modules/agents/registry/frontend.js.map +1 -1
  212. package/dist/src/modules/agents/registry/git.js.map +1 -1
  213. package/dist/src/modules/agents/registry/manager.js +11 -4
  214. package/dist/src/modules/agents/registry/manager.js.map +1 -1
  215. package/dist/src/modules/agents/registry/mobile.js +7 -5
  216. package/dist/src/modules/agents/registry/mobile.js.map +1 -1
  217. package/dist/src/modules/agents/registry/native.js +7 -5
  218. package/dist/src/modules/agents/registry/native.js.map +1 -1
  219. package/dist/src/modules/agents/registry/quality.js +11 -8
  220. package/dist/src/modules/agents/registry/quality.js.map +1 -1
  221. package/dist/src/modules/agents/registry/security.js.map +1 -1
  222. package/dist/src/modules/contracts/api.d.ts +178 -0
  223. package/dist/src/modules/contracts/api.js +56 -0
  224. package/dist/src/modules/contracts/api.js.map +1 -0
  225. package/dist/src/modules/contracts/index.d.ts +5 -0
  226. package/dist/src/modules/contracts/index.js +6 -0
  227. package/dist/src/modules/contracts/index.js.map +1 -0
  228. package/dist/src/modules/engines/agent-executor.d.ts +50 -0
  229. package/dist/src/modules/engines/agent-executor.js +188 -0
  230. package/dist/src/modules/engines/agent-executor.js.map +1 -0
  231. package/dist/src/modules/engines/health-engine.d.ts +7 -1
  232. package/dist/src/modules/engines/health-engine.js +85 -8
  233. package/dist/src/modules/engines/health-engine.js.map +1 -1
  234. package/dist/src/modules/engines/planning-engine.d.ts +1 -1
  235. package/dist/src/modules/engines/planning-engine.js +5 -4
  236. package/dist/src/modules/engines/planning-engine.js.map +1 -1
  237. package/dist/src/modules/engines/quality-gate.d.ts +23 -0
  238. package/dist/src/modules/engines/quality-gate.js +85 -0
  239. package/dist/src/modules/engines/quality-gate.js.map +1 -0
  240. package/dist/src/modules/engines/risk-engine.js +6 -6
  241. package/dist/src/modules/engines/risk-engine.js.map +1 -1
  242. package/dist/src/modules/engines/routing-engine.d.ts +59 -1
  243. package/dist/src/modules/engines/routing-engine.js +353 -25
  244. package/dist/src/modules/engines/routing-engine.js.map +1 -1
  245. package/dist/src/modules/engines/types.d.ts +7 -3
  246. package/dist/src/modules/gateway/circuit-breaker.d.ts +40 -0
  247. package/dist/src/modules/gateway/circuit-breaker.js +163 -0
  248. package/dist/src/modules/gateway/circuit-breaker.js.map +1 -0
  249. package/dist/src/modules/gateway/cost-tracker.d.ts +55 -0
  250. package/dist/src/modules/gateway/cost-tracker.js +127 -0
  251. package/dist/src/modules/gateway/cost-tracker.js.map +1 -0
  252. package/dist/src/modules/gateway/gateway.d.ts +68 -0
  253. package/dist/src/modules/gateway/gateway.js +235 -0
  254. package/dist/src/modules/gateway/gateway.js.map +1 -0
  255. package/dist/src/modules/gateway/index.d.ts +19 -0
  256. package/dist/src/modules/gateway/index.js +19 -0
  257. package/dist/src/modules/gateway/index.js.map +1 -0
  258. package/dist/src/modules/gateway/load-balancer.d.ts +86 -0
  259. package/dist/src/modules/gateway/load-balancer.js +230 -0
  260. package/dist/src/modules/gateway/load-balancer.js.map +1 -0
  261. package/dist/src/modules/gateway/providers/anthropic.d.ts +14 -0
  262. package/dist/src/modules/gateway/providers/anthropic.js +169 -0
  263. package/dist/src/modules/gateway/providers/anthropic.js.map +1 -0
  264. package/dist/src/modules/gateway/providers/base.d.ts +38 -0
  265. package/dist/src/modules/gateway/providers/base.js +42 -0
  266. package/dist/src/modules/gateway/providers/base.js.map +1 -0
  267. package/dist/src/modules/gateway/providers/google.d.ts +18 -0
  268. package/dist/src/modules/gateway/providers/google.js +176 -0
  269. package/dist/src/modules/gateway/providers/google.js.map +1 -0
  270. package/dist/src/modules/gateway/providers/grok.d.ts +14 -0
  271. package/dist/src/modules/gateway/providers/grok.js +166 -0
  272. package/dist/src/modules/gateway/providers/grok.js.map +1 -0
  273. package/dist/src/modules/gateway/providers/index.d.ts +21 -0
  274. package/dist/src/modules/gateway/providers/index.js +38 -0
  275. package/dist/src/modules/gateway/providers/index.js.map +1 -0
  276. package/dist/src/modules/gateway/providers/ollama.d.ts +23 -0
  277. package/dist/src/modules/gateway/providers/ollama.js +187 -0
  278. package/dist/src/modules/gateway/providers/ollama.js.map +1 -0
  279. package/dist/src/modules/gateway/providers/openai.d.ts +14 -0
  280. package/dist/src/modules/gateway/providers/openai.js +170 -0
  281. package/dist/src/modules/gateway/providers/openai.js.map +1 -0
  282. package/dist/src/modules/gateway/rate-limiter.d.ts +41 -0
  283. package/dist/src/modules/gateway/rate-limiter.js +119 -0
  284. package/dist/src/modules/gateway/rate-limiter.js.map +1 -0
  285. package/dist/src/modules/gateway/types.d.ts +114 -0
  286. package/dist/src/modules/gateway/types.js +8 -0
  287. package/dist/src/modules/gateway/types.js.map +1 -0
  288. package/dist/src/modules/memory/core.d.ts +42 -0
  289. package/dist/src/modules/memory/core.js +100 -0
  290. package/dist/src/modules/memory/core.js.map +1 -0
  291. package/dist/src/modules/memory/embedding.d.ts +28 -0
  292. package/dist/src/modules/memory/embedding.js +131 -0
  293. package/dist/src/modules/memory/embedding.js.map +1 -0
  294. package/dist/src/modules/memory/types.d.ts +18 -0
  295. package/dist/src/modules/memory/types.js +2 -0
  296. package/dist/src/modules/memory/types.js.map +1 -0
  297. package/dist/src/modules/memory/vector-store.d.ts +13 -0
  298. package/dist/src/modules/memory/vector-store.js +75 -0
  299. package/dist/src/modules/memory/vector-store.js.map +1 -0
  300. package/dist/src/modules/providers/definitions.d.ts +9 -0
  301. package/dist/src/modules/providers/definitions.js +141 -0
  302. package/dist/src/modules/providers/definitions.js.map +1 -0
  303. package/dist/src/modules/providers/registry.d.ts +12 -0
  304. package/dist/src/modules/providers/registry.js +19 -0
  305. package/dist/src/modules/providers/registry.js.map +1 -0
  306. package/dist/src/modules/providers/shared.d.ts +1 -0
  307. package/dist/src/modules/providers/shared.js +105 -0
  308. package/dist/src/modules/providers/shared.js.map +1 -0
  309. package/dist/src/modules/providers/types.d.ts +14 -0
  310. package/dist/src/modules/providers/types.js +2 -0
  311. package/dist/src/modules/providers/types.js.map +1 -0
  312. package/dist/src/modules/skills/adapter-skills.d.ts +68 -0
  313. package/dist/src/modules/skills/adapter-skills.js +450 -0
  314. package/dist/src/modules/skills/adapter-skills.js.map +1 -0
  315. package/dist/src/shared/audit.d.ts +105 -0
  316. package/dist/src/shared/audit.js +220 -0
  317. package/dist/src/shared/audit.js.map +1 -0
  318. package/dist/src/shared/constants.d.ts +11 -11
  319. package/dist/src/shared/constants.js +3 -3
  320. package/dist/src/shared/constants.js.map +1 -1
  321. package/dist/src/shared/fs.js +4 -2
  322. package/dist/src/shared/fs.js.map +1 -1
  323. package/dist/src/shared/lock.d.ts +82 -0
  324. package/dist/src/shared/lock.js +160 -0
  325. package/dist/src/shared/lock.js.map +1 -0
  326. package/dist/src/shared/logger.d.ts +2 -0
  327. package/dist/src/shared/logger.js +15 -5
  328. package/dist/src/shared/logger.js.map +1 -1
  329. package/dist/src/shared/pii.d.ts +37 -0
  330. package/dist/src/shared/pii.js +122 -0
  331. package/dist/src/shared/pii.js.map +1 -0
  332. package/dist/src/shared/retention.d.ts +63 -0
  333. package/dist/src/shared/retention.js +171 -0
  334. package/dist/src/shared/retention.js.map +1 -0
  335. package/dist/src/shared/storage.d.ts +13 -11
  336. package/dist/src/shared/storage.js +18 -14
  337. package/dist/src/shared/storage.js.map +1 -1
  338. package/dist/src/shared/string.d.ts +1 -0
  339. package/dist/src/shared/string.js +30 -0
  340. package/dist/src/shared/string.js.map +1 -0
  341. package/dist/src/shared/types.d.ts +8 -0
  342. package/dist/src/shared/types.js +4 -0
  343. package/dist/src/shared/types.js.map +1 -1
  344. package/dist/tests/adapter.test.js +3 -2
  345. package/dist/tests/adapter.test.js.map +1 -1
  346. package/dist/tests/adapters/paths.test.js +4 -4
  347. package/dist/tests/adapters/paths.test.js.map +1 -1
  348. package/dist/tests/cli/commands/check.test.d.ts +1 -0
  349. package/dist/tests/cli/commands/check.test.js +9 -0
  350. package/dist/tests/cli/commands/check.test.js.map +1 -0
  351. package/dist/tests/cli/commands/coverage.test.d.ts +1 -0
  352. package/dist/tests/cli/commands/coverage.test.js +9 -0
  353. package/dist/tests/cli/commands/coverage.test.js.map +1 -0
  354. package/dist/tests/cli/commands/dashboard-coverage.test.d.ts +1 -0
  355. package/dist/tests/cli/commands/dashboard-coverage.test.js +88 -0
  356. package/dist/tests/cli/commands/dashboard-coverage.test.js.map +1 -0
  357. package/dist/tests/cli/commands/exports.test.d.ts +1 -0
  358. package/dist/tests/cli/commands/exports.test.js +61 -0
  359. package/dist/tests/cli/commands/exports.test.js.map +1 -0
  360. package/dist/tests/cli/commands/lint.test.d.ts +1 -0
  361. package/dist/tests/cli/commands/lint.test.js +9 -0
  362. package/dist/tests/cli/commands/lint.test.js.map +1 -0
  363. package/dist/tests/cli/init/adapter_init.test.js +4 -5
  364. package/dist/tests/cli/init/adapter_init.test.js.map +1 -1
  365. package/dist/tests/cli/init/unified_init.test.js +5 -7
  366. package/dist/tests/cli/init/unified_init.test.js.map +1 -1
  367. package/dist/tests/core-memory.test.d.ts +1 -0
  368. package/dist/tests/core-memory.test.js +78 -0
  369. package/dist/tests/core-memory.test.js.map +1 -0
  370. package/dist/tests/dashboard.test.d.ts +1 -0
  371. package/dist/tests/dashboard.test.js +116 -0
  372. package/dist/tests/dashboard.test.js.map +1 -0
  373. package/dist/tests/fs-utils.test.js +5 -5
  374. package/dist/tests/fs-utils.test.js.map +1 -1
  375. package/dist/tests/integration/agent_flow.test.js +24 -10
  376. package/dist/tests/integration/agent_flow.test.js.map +1 -1
  377. package/dist/tests/modules/adapters/adapters.test.js +2 -2
  378. package/dist/tests/modules/adapters/adapters.test.js.map +1 -1
  379. package/dist/tests/modules/contracts/contracts.test.d.ts +1 -0
  380. package/dist/tests/modules/contracts/contracts.test.js +73 -0
  381. package/dist/tests/modules/contracts/contracts.test.js.map +1 -0
  382. package/dist/tests/modules/engines/agent-executor.test.d.ts +1 -0
  383. package/dist/tests/modules/engines/agent-executor.test.js +61 -0
  384. package/dist/tests/modules/engines/agent-executor.test.js.map +1 -0
  385. package/dist/tests/modules/engines/evaluation-engine.test.d.ts +1 -0
  386. package/dist/tests/modules/engines/evaluation-engine.test.js +45 -0
  387. package/dist/tests/modules/engines/evaluation-engine.test.js.map +1 -0
  388. package/dist/tests/modules/engines/health-engine.test.d.ts +1 -0
  389. package/dist/tests/modules/engines/health-engine.test.js +56 -0
  390. package/dist/tests/modules/engines/health-engine.test.js.map +1 -0
  391. package/dist/tests/modules/engines/planning-engine.test.d.ts +1 -0
  392. package/dist/tests/modules/engines/planning-engine.test.js +75 -0
  393. package/dist/tests/modules/engines/planning-engine.test.js.map +1 -0
  394. package/dist/tests/modules/engines/risk-engine.test.d.ts +1 -0
  395. package/dist/tests/modules/engines/risk-engine.test.js +61 -0
  396. package/dist/tests/modules/engines/risk-engine.test.js.map +1 -0
  397. package/dist/tests/modules/engines/routing-engine.test.d.ts +1 -0
  398. package/dist/tests/modules/engines/routing-engine.test.js +56 -0
  399. package/dist/tests/modules/engines/routing-engine.test.js.map +1 -0
  400. package/dist/tests/modules/gateway/circuit-breaker.test.d.ts +1 -0
  401. package/dist/tests/modules/gateway/circuit-breaker.test.js +124 -0
  402. package/dist/tests/modules/gateway/circuit-breaker.test.js.map +1 -0
  403. package/dist/tests/modules/gateway/cost-tracker.test.d.ts +1 -0
  404. package/dist/tests/modules/gateway/cost-tracker.test.js +74 -0
  405. package/dist/tests/modules/gateway/cost-tracker.test.js.map +1 -0
  406. package/dist/tests/modules/gateway/load-balancer.test.d.ts +1 -0
  407. package/dist/tests/modules/gateway/load-balancer.test.js +70 -0
  408. package/dist/tests/modules/gateway/load-balancer.test.js.map +1 -0
  409. package/dist/tests/modules/gateway/rate-limiter.test.d.ts +1 -0
  410. package/dist/tests/modules/gateway/rate-limiter.test.js +62 -0
  411. package/dist/tests/modules/gateway/rate-limiter.test.js.map +1 -0
  412. package/dist/tests/modules/memory/vector-store.test.d.ts +1 -0
  413. package/dist/tests/modules/memory/vector-store.test.js +109 -0
  414. package/dist/tests/modules/memory/vector-store.test.js.map +1 -0
  415. package/dist/tests/orchestrator-dependencies.test.js +40 -22
  416. package/dist/tests/orchestrator-dependencies.test.js.map +1 -1
  417. package/dist/tests/planning-engine.test.js +9 -8
  418. package/dist/tests/planning-engine.test.js.map +1 -1
  419. package/dist/tests/risk-engine.test.d.ts +1 -0
  420. package/dist/tests/risk-engine.test.js +44 -0
  421. package/dist/tests/risk-engine.test.js.map +1 -0
  422. package/dist/tests/shared/audit.test.d.ts +1 -0
  423. package/dist/tests/shared/audit.test.js +53 -0
  424. package/dist/tests/shared/audit.test.js.map +1 -0
  425. package/dist/tests/status-cost.test.js +15 -24
  426. package/dist/tests/status-cost.test.js.map +1 -1
  427. package/dist/tests/status.test.js +16 -17
  428. package/dist/tests/status.test.js.map +1 -1
  429. package/dist/tests/storage-operations.test.d.ts +1 -0
  430. package/dist/tests/storage-operations.test.js +116 -0
  431. package/dist/tests/storage-operations.test.js.map +1 -0
  432. package/dist/tests/trace-replay.test.js +34 -40
  433. package/dist/tests/trace-replay.test.js.map +1 -1
  434. package/dist/ui/assets/index-B-d2ejS8.js +519 -0
  435. package/dist/ui/assets/index-CyXywq5G.css +1 -0
  436. package/dist/ui/index.html +2 -2
  437. package/dist/vitest.config.js +5 -5
  438. package/dist/vitest.config.js.map +1 -1
  439. package/framework-mcp/README.md +339 -25
  440. package/framework-mcp/dist/dashboard/assets/index-BAPGLiWE.js +267 -0
  441. package/framework-mcp/dist/dashboard/index.html +15 -0
  442. package/framework-mcp/dist/framework-mcp/src/constants.js +64 -0
  443. package/framework-mcp/dist/framework-mcp/src/index.js +156 -0
  444. package/framework-mcp/dist/framework-mcp/src/resources/index.js +58 -0
  445. package/framework-mcp/dist/framework-mcp/src/tools/control_plane/locking.js +84 -0
  446. package/framework-mcp/dist/framework-mcp/src/tools/control_plane/registry.js +35 -0
  447. package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +197 -0
  448. package/framework-mcp/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +64 -0
  449. package/framework-mcp/dist/framework-mcp/src/tools/file_system/patch_file.js +34 -0
  450. package/framework-mcp/dist/framework-mcp/src/tools/file_system/read_file.js +51 -0
  451. package/framework-mcp/dist/framework-mcp/src/tools/file_system/replace_text.js +50 -0
  452. package/framework-mcp/dist/framework-mcp/src/tools/file_system/write_file.js +55 -0
  453. package/framework-mcp/dist/framework-mcp/src/tools/framework/audit_deps.js +41 -0
  454. package/framework-mcp/dist/framework-mcp/src/tools/framework/get_status.js +5 -0
  455. package/framework-mcp/dist/framework-mcp/src/tools/framework/orchestrate.js +5 -0
  456. package/framework-mcp/dist/framework-mcp/src/tools/framework/run_tests.js +27 -0
  457. package/framework-mcp/dist/framework-mcp/src/tools/framework/submit_plan.js +13 -0
  458. package/framework-mcp/dist/framework-mcp/src/tools/framework/update_contract_hash.js +5 -0
  459. package/framework-mcp/dist/framework-mcp/src/tools/framework/update_memory.js +8 -0
  460. package/framework-mcp/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js +137 -0
  461. package/framework-mcp/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js +90 -0
  462. package/framework-mcp/dist/framework-mcp/src/tools/index.js +126 -0
  463. package/framework-mcp/dist/framework-mcp/src/tools/memory/delete_knowledge.js +28 -0
  464. package/framework-mcp/dist/framework-mcp/src/tools/memory/get_insights.js +22 -0
  465. package/framework-mcp/dist/framework-mcp/src/tools/memory/read_memory.js +28 -0
  466. package/framework-mcp/dist/framework-mcp/src/tools/memory/search_knowledge.js +48 -0
  467. package/framework-mcp/dist/framework-mcp/src/tools/memory/store_knowledge.js +30 -0
  468. package/framework-mcp/dist/framework-mcp/src/tools/messaging/ask_human.js +30 -0
  469. package/framework-mcp/dist/framework-mcp/src/tools/messaging/log_action.js +22 -0
  470. package/framework-mcp/dist/framework-mcp/src/tools/messaging/send_message.js +94 -0
  471. package/framework-mcp/dist/framework-mcp/src/tools/observability/check_ports.js +26 -0
  472. package/framework-mcp/dist/framework-mcp/src/tools/observability/get_health.js +19 -0
  473. package/framework-mcp/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +165 -0
  474. package/framework-mcp/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js +134 -0
  475. package/framework-mcp/dist/framework-mcp/src/tools/quality/check_lint.js +30 -0
  476. package/framework-mcp/dist/framework-mcp/src/tools/schemas.js +182 -0
  477. package/framework-mcp/dist/framework-mcp/src/tools/search/get_gaps.js +48 -0
  478. package/framework-mcp/dist/framework-mcp/src/tools/search/get_map.js +43 -0
  479. package/framework-mcp/dist/framework-mcp/src/tools/search/grep_search.js +78 -0
  480. package/framework-mcp/dist/framework-mcp/src/tools/search/list_dir.js +28 -0
  481. package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +121 -0
  482. package/framework-mcp/dist/framework-mcp/src/tools/types.js +1 -0
  483. package/framework-mcp/dist/framework-mcp/src/utils/cli.js +59 -0
  484. package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +292 -0
  485. package/framework-mcp/dist/framework-mcp/src/utils/errors.js +68 -0
  486. package/framework-mcp/dist/framework-mcp/src/utils/fs.js +47 -0
  487. package/framework-mcp/dist/framework-mcp/src/utils/memory.js +74 -0
  488. package/framework-mcp/dist/framework-mcp/src/utils/metrics.js +56 -0
  489. package/framework-mcp/dist/framework-mcp/src/utils/permissions.js +71 -0
  490. package/framework-mcp/dist/framework-mcp/src/utils/security.js +60 -0
  491. package/framework-mcp/dist/framework-mcp/src/utils/storage.js +207 -0
  492. package/framework-mcp/dist/framework-mcp/src/utils/types.js +16 -0
  493. package/framework-mcp/dist/framework-mcp/src/utils/zod-to-mcp.js +79 -0
  494. package/framework-mcp/dist/index.js +14 -2
  495. package/framework-mcp/dist/src/cli/utils/memory.js +279 -0
  496. package/framework-mcp/dist/src/cli/utils/time.js +27 -0
  497. package/framework-mcp/dist/src/cli/utils/ui.js +100 -0
  498. package/framework-mcp/dist/src/modules/memory/core.js +99 -0
  499. package/framework-mcp/dist/src/modules/memory/embedding.js +130 -0
  500. package/framework-mcp/dist/src/modules/memory/types.js +1 -0
  501. package/framework-mcp/dist/src/modules/memory/vector-store.js +74 -0
  502. package/framework-mcp/dist/src/shared/constants.js +187 -0
  503. package/framework-mcp/dist/src/shared/fs.js +53 -0
  504. package/framework-mcp/dist/src/shared/logger.js +126 -0
  505. package/framework-mcp/dist/src/shared/pii.js +121 -0
  506. package/framework-mcp/dist/src/shared/storage.js +211 -0
  507. package/framework-mcp/dist/src/shared/types.js +16 -0
  508. package/framework-mcp/dist/tools/definitions.js +79 -247
  509. package/framework-mcp/dist/tools/index.js +37 -0
  510. package/framework-mcp/dist/tools/schemas.js +133 -0
  511. package/framework-mcp/dist/utils/types.js +4 -0
  512. package/framework-mcp/dist/utils/zod-to-mcp.js +77 -0
  513. package/framework-mcp/package.json +2 -2
  514. package/mcp.json +5 -4
  515. package/package.json +19 -17
  516. package/templates/full/ATABEY_FULL.md +515 -0
  517. package/templates/standards/crud-governance.md +1 -1
  518. package/templates/standards/logging-and-secrets.md +1 -1
  519. package/templates/standards/performance-standards.md +2 -2
  520. package/templates/standards/quality-standards.md +1 -1
  521. package/dist/ui/assets/index-Bkt7APzu.css +0 -1
  522. package/dist/ui/assets/index-CeX-06mI.js +0 -49
@@ -1,51 +1,348 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import { getFrameworkDir } from "../../cli/utils/memory.js";
4
+ import { logger } from "../../shared/logger.js";
5
+ import { AtabeyStorage } from "../../shared/storage.js";
6
+ import { asAgentID, asTraceID } from "../../shared/types.js";
4
7
  import { ALL_AGENTS } from "../agents/definitions.js";
5
8
  export class RoutingEngine {
6
9
  /**
7
- * Finds the best agent for a given task description based on capability scores and specialties.
10
+ * Advanced Routing Engine analyzes task descriptions,
11
+ * selects the most suitable agent, and determines subtasks.
12
+ *
13
+ * Uses TF-IDF-like keyword weighting.
8
14
  */
9
15
  static resolveAgent(taskDescription) {
16
+ return this.resolveWithDetails(taskDescription).agent;
17
+ }
18
+ /**
19
+ * Returns detailed routing result — score, confidence, reasoning, subTasks
20
+ */
21
+ static resolveWithDetails(taskDescription) {
10
22
  const textLower = taskDescription.toLowerCase();
23
+ const tokens = this.tokenize(textLower);
11
24
  const candidates = this.getCandidates();
12
- let bestAgent = "@backend"; // Default fallback
25
+ let bestAgent = "@backend";
13
26
  let bestScore = 0;
27
+ let bestReasoning = "";
28
+ let bestSubTasks = [];
14
29
  for (const candidate of candidates) {
15
- let candidateScore = 0;
30
+ let score = 0;
31
+ const matches = [];
32
+ // 1. Specialty matching (weighted)
16
33
  for (const [specialty, weight] of Object.entries(candidate.specialties)) {
17
- const specLower = specialty.toLowerCase();
18
- if (textLower.includes(specLower)) {
19
- candidateScore += weight;
34
+ const specTokens = this.tokenize(specialty.toLowerCase());
35
+ for (const token of tokens) {
36
+ if (specTokens.some(st => token.includes(st) || st.includes(token))) {
37
+ score += weight * this.calculateTf(token, tokens);
38
+ matches.push(specialty);
39
+ }
40
+ }
41
+ }
42
+ // 2. Role matching
43
+ const roleTokens = this.tokenize(candidate.role.toLowerCase());
44
+ for (const token of tokens) {
45
+ if (roleTokens.some(rt => token.includes(rt) || rt.includes(token))) {
46
+ score += 3; // Role match bonus
47
+ matches.push(`role:${candidate.role}`);
20
48
  }
21
49
  }
22
- if (candidateScore > bestScore) {
23
- bestScore = candidateScore;
50
+ // 3. DisplayName matching
51
+ const nameTokens = this.tokenize(candidate.displayName.toLowerCase());
52
+ for (const token of tokens) {
53
+ if (nameTokens.some(nt => token.includes(nt) || nt.includes(token))) {
54
+ score += 2;
55
+ matches.push(`name:${candidate.displayName}`);
56
+ }
57
+ }
58
+ // Capability bonus (more capable agents get priority)
59
+ score += (candidate.capability - 5) * 0.5;
60
+ if (score > bestScore) {
61
+ bestScore = score;
24
62
  bestAgent = candidate.agent;
63
+ bestReasoning = matches.length > 0
64
+ ? `Matching fields: ${[...new Set(matches)].join(", ")}`
65
+ : "Selected based on general capability";
66
+ bestSubTasks = this.generateSubTasks(candidate.agent, taskDescription);
25
67
  }
26
68
  }
27
- // Static fallback keywords if no specialty match found
69
+ // Static fallback (if nothing matches)
28
70
  if (bestScore === 0) {
29
- if (textLower.includes("frontend") || textLower.includes("ui") || textLower.includes("page") || textLower.includes("css") || textLower.includes("html") || textLower.includes("react")) {
30
- bestAgent = "@frontend";
31
- }
32
- else if (textLower.includes("security") || textLower.includes("audit") || textLower.includes("auth") || textLower.includes("token")) {
33
- bestAgent = "@security";
34
- }
35
- else if (textLower.includes("database") || textLower.includes("migration") || textLower.includes("sql") || textLower.includes("schema") || textLower.includes("postgres")) {
36
- bestAgent = "@database";
71
+ const fallback = this.fallbackRouting(tokens);
72
+ bestAgent = fallback.agent;
73
+ bestReasoning = fallback.reasoning;
74
+ bestSubTasks = fallback.subTasks;
75
+ }
76
+ const confidence = bestScore > 10 ? "high"
77
+ : bestScore > 5 ? "medium"
78
+ : "low";
79
+ return {
80
+ agent: bestAgent,
81
+ score: Math.round(bestScore * 10) / 10,
82
+ confidence,
83
+ reasoning: bestReasoning,
84
+ subTasks: bestSubTasks,
85
+ };
86
+ }
87
+ /**
88
+ * Automatically splits the task into subtasks
89
+ */
90
+ static planTask(taskDescription) {
91
+ const result = this.resolveWithDetails(taskDescription);
92
+ const plan = [
93
+ `>> Task: ${taskDescription}`,
94
+ `>> Assigned to: ${result.agent}`,
95
+ `>> Confidence: ${result.confidence.toUpperCase()} (Score: ${result.score})`,
96
+ `>> Reason: ${result.reasoning}`,
97
+ "",
98
+ ">> Subtasks:",
99
+ ...result.subTasks.map((t, i) => ` ${i + 1}. ${t}`),
100
+ "",
101
+ ">> Quality Check:",
102
+ ` - When ${result.agent} completes, @quality will review`,
103
+ ` - If @quality rejects, the task returns to ${result.agent}`,
104
+ ];
105
+ return plan;
106
+ }
107
+ // ─── Private Helpers ────────────────────────────────────────────────
108
+ static tokenize(text) {
109
+ return text
110
+ .replace(/[^a-z0-9çşıöğü ]/g, " ")
111
+ .split(/\s+/)
112
+ .filter(t => t.length > 1);
113
+ }
114
+ /**
115
+ * Simple term frequency calculation
116
+ */
117
+ static calculateTf(term, tokens) {
118
+ const count = tokens.filter(t => t === term).length;
119
+ return 1 + (count * 0.5); // Base 1, each repetition +0.5
120
+ }
121
+ static fallbackRouting(tokens) {
122
+ const text = tokens.join(" ");
123
+ if (tokens.some(t => ["frontend", "ui", "page", "css", "html", "react", "component", "button", "form", "modal", "table", "interface"].includes(t))) {
124
+ return {
125
+ agent: "@frontend",
126
+ reasoning: "Frontend/UI keywords detected",
127
+ subTasks: this.generateSubTasks("@frontend", text),
128
+ };
129
+ }
130
+ if (tokens.some(t => ["security", "auth", "token", "encrypt", "login"].includes(t))) {
131
+ return {
132
+ agent: "@security",
133
+ reasoning: "Security keywords detected",
134
+ subTasks: this.generateSubTasks("@security", text),
135
+ };
136
+ }
137
+ if (tokens.some(t => ["database", "migration", "sql", "schema", "table", "index", "query"].includes(t))) {
138
+ return {
139
+ agent: "@database",
140
+ reasoning: "Database keywords detected",
141
+ subTasks: this.generateSubTasks("@database", text),
142
+ };
143
+ }
144
+ if (tokens.some(t => ["docker", "ci", "cd", "deploy", "devops", "infra", "server", "nginx"].includes(t))) {
145
+ return {
146
+ agent: "@devops",
147
+ reasoning: "DevOps/Infra keywords detected",
148
+ subTasks: this.generateSubTasks("@devops", text),
149
+ };
150
+ }
151
+ if (tokens.some(t => ["mobile", "react native", "expo", "ios", "android"].includes(t))) {
152
+ return {
153
+ agent: "@mobile",
154
+ reasoning: "Mobile keywords detected",
155
+ subTasks: this.generateSubTasks("@mobile", text),
156
+ };
157
+ }
158
+ if (tokens.some(t => ["architect", "design", "architecture", "contract", "structure"].includes(t))) {
159
+ return {
160
+ agent: "@architect",
161
+ reasoning: "Architecture/design keywords detected",
162
+ subTasks: this.generateSubTasks("@architect", text),
163
+ };
164
+ }
165
+ if (tokens.some(t => ["analysis", "analyst", "requirement", "contract", "validate"].includes(t))) {
166
+ return {
167
+ agent: "@analyst",
168
+ reasoning: "Analysis/requirement keywords detected",
169
+ subTasks: this.generateSubTasks("@analyst", text),
170
+ };
171
+ }
172
+ return {
173
+ agent: "@backend",
174
+ reasoning: "Default routing to backend (most general capability)",
175
+ subTasks: this.generateSubTasks("@backend", text),
176
+ };
177
+ }
178
+ static generateSubTasks(agent, taskDescription) {
179
+ const base = [
180
+ `[*] ${agent}: Analyze and plan the task`,
181
+ `[>] ${taskDescription}`,
182
+ "[*] Write and run tests",
183
+ "[*] Notify @quality for QA review",
184
+ ];
185
+ const agentSpecific = {
186
+ "@manager": [
187
+ "[*] Analyze task and break into subtasks",
188
+ "[*] Identify suitable agents and distribute tasks",
189
+ "[*] Monitor progress and manage quality gate",
190
+ ],
191
+ "@backend": [
192
+ "[*] Create Controller-Service-Repository layers",
193
+ "[*] Update API contracts",
194
+ "[*] Integrate database operations",
195
+ ],
196
+ "@frontend": [
197
+ "[*] Create UI components in atomic structure",
198
+ "[*] Apply responsive design",
199
+ "[*] Integrate with API",
200
+ ],
201
+ "@quality": [
202
+ "[*] Run compliance check (check_compliance)",
203
+ "[*] Run lint check",
204
+ "[*] Verify test coverage",
205
+ "[*] Report approval/rejection to @manager",
206
+ ],
207
+ "@database": [
208
+ "[*] Prepare migration file",
209
+ "[*] Optimize queries",
210
+ "[*] Define index strategy",
211
+ ],
212
+ "@security": [
213
+ "[*] Run security vulnerability scan",
214
+ "[*] Verify auth/encryption controls",
215
+ "[*] Check secret management",
216
+ ],
217
+ "@devops": [
218
+ "[*] Prepare Docker configuration",
219
+ "[*] Update CI/CD pipeline",
220
+ "[*] Check environment variables",
221
+ ],
222
+ "@mobile": [
223
+ "[*] Create React Native components",
224
+ "[*] Apply offline-first architecture",
225
+ "[*] Implement SafeArea and responsive controls",
226
+ ],
227
+ "@explorer": [
228
+ "[*] Explore and map the codebase",
229
+ "[*] Analyze dependencies",
230
+ "[*] Send report to @manager",
231
+ ],
232
+ "@git": [
233
+ "[*] Define branch strategy",
234
+ "[*] Prepare commit messages with Trace ID",
235
+ "[*] Perform rebase/merge operations if needed",
236
+ ],
237
+ };
238
+ const specific = agentSpecific[agent] || [];
239
+ return [...specific, ...base];
240
+ }
241
+ /**
242
+ * Quality feedback loop — retries if @quality rejects
243
+ * Uses real MCP calls, not simulations.
244
+ */
245
+ static async qualityLoop(agent, taskDescription, maxRetries = 3) {
246
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
247
+ logger.info(`[RETRY] Attempt ${attempt}/${maxRetries}: ${agent} running...`, {
248
+ agent,
249
+ attempt,
250
+ maxRetries,
251
+ task: taskDescription.substring(0, 100),
252
+ });
253
+ // Agent runs via MCP call
254
+ const result = await this.runAgent(agent, taskDescription);
255
+ // Quality check via MCP
256
+ const qualityResult = await this.runQualityCheck(result);
257
+ if (qualityResult.passed) {
258
+ logger.info(`[OK] Quality check PASSED (attempt ${attempt})`, { agent, attempt });
259
+ return { success: true, attempts: attempt };
37
260
  }
38
- else if (textLower.includes("docker") || textLower.includes("ci") || textLower.includes("deploy") || textLower.includes("devops")) {
39
- bestAgent = "@devops";
261
+ logger.warn(`[FAIL] Quality check FAILED: ${qualityResult.reason}`, {
262
+ agent,
263
+ attempt,
264
+ reason: qualityResult.reason,
265
+ });
266
+ logger.info(`[RETRY] ${agent} fixing errors...`, { agent, attempt });
267
+ }
268
+ logger.error(`[FAIL] ${maxRetries} attempts exhausted. Human intervention required.`, {
269
+ agent,
270
+ maxRetries,
271
+ task: taskDescription.substring(0, 100),
272
+ });
273
+ return { success: false, attempts: maxRetries };
274
+ }
275
+ /**
276
+ * Runs the agent through the Hermes messaging system.
277
+ *
278
+ * Flow:
279
+ * 1. Write DELEGATION message to agent's queue (Storage.saveMessage)
280
+ * 2. Wait for agent response (polling, max 30 seconds)
281
+ * 3. Parse response and return as output
282
+ */
283
+ static async runAgent(agent, task) {
284
+ const agentName = agent.replace("@", "");
285
+ const traceId = `T-${Date.now()}-${Math.random().toString(36).substring(2, 8)}`;
286
+ const messagePayload = JSON.stringify({
287
+ type: "DELEGATION",
288
+ task,
289
+ traceId,
290
+ from: "@manager",
291
+ });
292
+ AtabeyStorage.saveMessage({
293
+ from: asAgentID("@manager"),
294
+ to: asAgentID(agent),
295
+ category: "DELEGATION",
296
+ content: messagePayload,
297
+ traceId: asTraceID(traceId),
298
+ timestamp: new Date().toISOString(),
299
+ status: "PENDING",
300
+ priority: "HIGH",
301
+ requiresApproval: false,
302
+ });
303
+ logger.info(`[HERMES] Delegation sent to ${agent} (trace: ${traceId})`);
304
+ // Poll for response (max 30 seconds)
305
+ const maxAttempts = 60;
306
+ const pollInterval = 500;
307
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
308
+ const messages = AtabeyStorage.getPendingMessages();
309
+ const response = messages.find(m => m.from.replace("@", "") === agentName
310
+ && m.category === "RESPONSE"
311
+ && m.traceId === traceId
312
+ && m.status === "PENDING");
313
+ if (response) {
314
+ if (response.id !== undefined) {
315
+ AtabeyStorage.updateMessageStatus(response.id, "PROCESSED");
316
+ }
317
+ logger.info(`[HERMES] Response received from ${agent} (trace: ${traceId})`);
318
+ return response.content;
40
319
  }
320
+ await new Promise(resolve => setTimeout(resolve, pollInterval));
41
321
  }
42
- return bestAgent;
322
+ const timeoutMsg = `[TIMEOUT] ${agent} did not respond within 30s`;
323
+ logger.warn(`[HERMES] ${timeoutMsg} (trace: ${traceId})`);
324
+ return timeoutMsg;
325
+ }
326
+ /**
327
+ * Runs quality control through the real QualityGate.
328
+ *
329
+ * Flow:
330
+ * 1. QualityGate.check() for compliance + lint + test + content validation
331
+ * 2. Aggregate results
332
+ */
333
+ static async runQualityCheck(result) {
334
+ const { QualityGate } = await import("./quality-gate.js");
335
+ const qualityResult = await QualityGate.check("@quality", result, "Quality check via routing engine");
336
+ return {
337
+ passed: qualityResult.passed,
338
+ reason: qualityResult.reason,
339
+ };
43
340
  }
44
341
  static getCandidates() {
45
342
  const frameworkDir = getFrameworkDir();
46
343
  const registryDir = path.join(frameworkDir, "registry");
47
344
  let candidates = [];
48
- // 1. Try Control Plane Registry first (active registered agents)
345
+ // 1. Control Plane Registry (actively registered agents)
49
346
  if (fs.existsSync(registryDir)) {
50
347
  const registryFiles = fs.readdirSync(registryDir).filter(f => f.endsWith("_active.json"));
51
348
  for (const file of registryFiles) {
@@ -54,21 +351,52 @@ export class RoutingEngine {
54
351
  if (data.agent && data.specialties) {
55
352
  candidates.push({
56
353
  agent: data.agent,
57
- specialties: data.specialties
354
+ specialties: data.specialties,
355
+ displayName: data.displayName || data.agent,
356
+ role: data.role || "",
357
+ capability: data.capability || 8,
358
+ tier: data.tier || "core",
58
359
  });
59
360
  }
60
361
  }
61
- catch { /* ignore */ }
362
+ catch (err) {
363
+ logger.debug(`Failed to parse registry file: ${file}`, err);
364
+ }
62
365
  }
63
366
  }
64
- // 2. Fallback to built-in agent definitions
367
+ // 2. Built-in agent definitions
65
368
  if (candidates.length === 0) {
66
369
  candidates = ALL_AGENTS.map(ag => ({
67
370
  agent: ag.name.startsWith("@") ? ag.name : `@${ag.name}`,
68
- specialties: ag.specialties || {}
371
+ specialties: ag.specialties ?? this.defaultSpecialties(ag.name),
372
+ displayName: ag.displayName,
373
+ role: ag.role,
374
+ capability: ag.capability,
375
+ tier: ag.tier,
69
376
  }));
70
377
  }
71
378
  return candidates;
72
379
  }
380
+ /**
381
+ * Default values for agents without a specialties field
382
+ */
383
+ static defaultSpecialties(name) {
384
+ const defaults = {
385
+ manager: { orchestration: 10, governance: 10, delegation: 10, audit: 8, planning: 9 },
386
+ architect: { design: 10, contract: 9, architecture: 10, types: 9, planning: 8 },
387
+ backend: { backend: 10, api: 9, logic: 9, service: 8, database: 7, test: 8 },
388
+ frontend: { frontend: 10, ui: 10, css: 9, html: 9, react: 9, responsive: 8 },
389
+ mobile: { mobile: 10, "react native": 9, expo: 8, offline: 8, accessibility: 7 },
390
+ quality: { audit: 10, compliance: 10, lint: 9, test: 9, coverage: 8 },
391
+ database: { database: 10, migration: 9, sql: 9, schema: 8, index: 8 },
392
+ security: { security: 10, auth: 9, encryption: 8, audit: 9, token: 8 },
393
+ devops: { devops: 10, docker: 9, ci: 9, deploy: 9, infra: 8 },
394
+ analyst: { analysis: 10, contract: 9, requirement: 9, validation: 8, documentation: 7 },
395
+ native: { native: 9, desktop: 8, "os-level": 8, security: 8 },
396
+ explorer: { discovery: 10, mapping: 9, dependency: 8, recon: 8 },
397
+ git: { git: 10, version: 9, commit: 8, branching: 8, traceability: 8 },
398
+ };
399
+ return defaults[name] || { general: 5 };
400
+ }
73
401
  }
74
402
  //# sourceMappingURL=routing-engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing-engine.js","sourceRoot":"","sources":["../../../../src/modules/engines/routing-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing-engine.js","sourceRoot":"","sources":["../../../../src/modules/engines/routing-engine.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { TraceID } from "../../shared/types.js";
1
+ import { PlanID, TaskID, TraceID } from "../../shared/types.js";
2
2
  /**
3
3
  * Atabey Engine Trio — Shared Types
4
4
  */
5
- export type TaskID = string;
6
5
  export type RiskSeverity = "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
7
6
  export interface RiskFactor {
8
7
  factor: string;
@@ -33,6 +32,11 @@ export interface ProjectHealth {
33
32
  codeQuality: number;
34
33
  security: number;
35
34
  architecture: number;
35
+ agentHealth?: number;
36
+ totalAgents?: number;
37
+ activeAgents?: number;
38
+ blockedAgents?: number;
39
+ totalLogs?: number;
36
40
  lastUpdated: string;
37
41
  }
38
42
  export interface PlanTask {
@@ -42,6 +46,6 @@ export interface PlanTask {
42
46
  dependencies: TaskID[];
43
47
  }
44
48
  export interface Plan {
45
- planId: string;
49
+ planId: PlanID;
46
50
  tasks: PlanTask[];
47
51
  }
@@ -0,0 +1,40 @@
1
+ import { CircuitBreakerState, ProviderHealth, ProviderId } from "./types.js";
2
+ export declare class CircuitBreaker {
3
+ private states;
4
+ private readonly defaultThreshold;
5
+ private readonly defaultRecoveryTimeoutMs;
6
+ private readonly halfOpenMaxRequests;
7
+ constructor();
8
+ /**
9
+ * Check if a provider is allowed to receive requests.
10
+ */
11
+ isAllowed(provider: ProviderId): boolean;
12
+ /**
13
+ * Record a successful request.
14
+ */
15
+ recordSuccess(provider: ProviderId): void;
16
+ /**
17
+ * Record a failed request.
18
+ */
19
+ recordFailure(provider: ProviderId): void;
20
+ /**
21
+ * Get the current state for a provider.
22
+ */
23
+ getState(provider: ProviderId): CircuitBreakerState | undefined;
24
+ /**
25
+ * Get health status for all providers.
26
+ */
27
+ getAllHealth(): ProviderHealth[];
28
+ /**
29
+ * Reset a provider's circuit breaker.
30
+ */
31
+ reset(provider: ProviderId): void;
32
+ /**
33
+ * Configure threshold for a provider.
34
+ */
35
+ setThreshold(provider: ProviderId, threshold: number): void;
36
+ /**
37
+ * Configure recovery timeout for a provider.
38
+ */
39
+ setRecoveryTimeout(provider: ProviderId, timeoutMs: number): void;
40
+ }