atabey 0.0.12 → 0.0.14

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 (432) hide show
  1. package/ATABEY.md +45 -499
  2. package/PRIVACY.md +161 -0
  3. package/README.md +553 -88
  4. package/bin/validate-al-registry.js +4 -4
  5. package/dist/framework-mcp/src/index.js +914 -62
  6. package/dist/framework-mcp/src/index.js.map +1 -1
  7. package/dist/framework-mcp/src/tools/compliance/mask_pii.d.ts +17 -0
  8. package/dist/framework-mcp/src/tools/compliance/mask_pii.js +56 -0
  9. package/dist/framework-mcp/src/tools/compliance/mask_pii.js.map +1 -0
  10. package/dist/framework-mcp/src/tools/definitions.js +24 -1
  11. package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
  12. package/dist/framework-mcp/src/tools/framework/run_tests.js +25 -0
  13. package/dist/framework-mcp/src/tools/framework/run_tests.js.map +1 -1
  14. package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.d.ts +19 -0
  15. package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js +138 -0
  16. package/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js.map +1 -0
  17. package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.d.ts +8 -0
  18. package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js +91 -0
  19. package/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js.map +1 -0
  20. package/dist/framework-mcp/src/tools/index.d.ts +1 -1
  21. package/dist/framework-mcp/src/tools/index.js +34 -20
  22. package/dist/framework-mcp/src/tools/index.js.map +1 -1
  23. package/dist/framework-mcp/src/tools/messaging/approve_operation.d.ts +22 -0
  24. package/dist/framework-mcp/src/tools/messaging/approve_operation.js +81 -0
  25. package/dist/framework-mcp/src/tools/messaging/approve_operation.js.map +1 -0
  26. package/dist/framework-mcp/src/tools/messaging/ask_human.d.ts +15 -0
  27. package/dist/framework-mcp/src/tools/messaging/ask_human.js +89 -20
  28. package/dist/framework-mcp/src/tools/messaging/ask_human.js.map +1 -1
  29. package/dist/framework-mcp/src/tools/observability/check_ports.js +3 -1
  30. package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
  31. package/dist/framework-mcp/src/tools/quality/analyze_code_quality.d.ts +11 -0
  32. package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +115 -0
  33. package/dist/framework-mcp/src/tools/quality/analyze_code_quality.js.map +1 -0
  34. package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.d.ts +11 -0
  35. package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js +135 -0
  36. package/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js.map +1 -0
  37. package/dist/framework-mcp/src/tools/schemas.d.ts +90 -15
  38. package/dist/framework-mcp/src/tools/schemas.js +32 -7
  39. package/dist/framework-mcp/src/tools/schemas.js.map +1 -1
  40. package/dist/framework-mcp/src/tools/shell/run_command.js +12 -2
  41. package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -1
  42. package/dist/framework-mcp/src/tools/types.d.ts +11 -105
  43. package/dist/framework-mcp/src/tools/types.js +1 -0
  44. package/dist/framework-mcp/src/tools/types.js.map +1 -1
  45. package/dist/framework-mcp/src/utils/auth.d.ts +36 -0
  46. package/dist/framework-mcp/src/utils/auth.js +79 -0
  47. package/dist/framework-mcp/src/utils/auth.js.map +1 -0
  48. package/dist/framework-mcp/src/utils/auto-rollback.d.ts +71 -0
  49. package/dist/framework-mcp/src/utils/auto-rollback.js +266 -0
  50. package/dist/framework-mcp/src/utils/auto-rollback.js.map +1 -0
  51. package/dist/framework-mcp/src/utils/compliance.js +12 -4
  52. package/dist/framework-mcp/src/utils/compliance.js.map +1 -1
  53. package/dist/framework-mcp/src/utils/context-optimizer.d.ts +69 -0
  54. package/dist/framework-mcp/src/utils/context-optimizer.js +157 -0
  55. package/dist/framework-mcp/src/utils/context-optimizer.js.map +1 -0
  56. package/dist/framework-mcp/src/utils/discipline.d.ts +68 -0
  57. package/dist/framework-mcp/src/utils/discipline.js +218 -0
  58. package/dist/framework-mcp/src/utils/discipline.js.map +1 -0
  59. package/dist/framework-mcp/src/utils/finops.d.ts +143 -0
  60. package/dist/framework-mcp/src/utils/finops.js +326 -0
  61. package/dist/framework-mcp/src/utils/finops.js.map +1 -0
  62. package/dist/framework-mcp/src/utils/human-in-loop.d.ts +95 -0
  63. package/dist/framework-mcp/src/utils/human-in-loop.js +216 -0
  64. package/dist/framework-mcp/src/utils/human-in-loop.js.map +1 -0
  65. package/dist/framework-mcp/src/utils/license-scanner.d.ts +71 -0
  66. package/dist/framework-mcp/src/utils/license-scanner.js +284 -0
  67. package/dist/framework-mcp/src/utils/license-scanner.js.map +1 -0
  68. package/dist/framework-mcp/src/utils/loop-detector.d.ts +105 -0
  69. package/dist/framework-mcp/src/utils/loop-detector.js +362 -0
  70. package/dist/framework-mcp/src/utils/loop-detector.js.map +1 -0
  71. package/dist/framework-mcp/src/utils/quality.d.ts +19 -0
  72. package/dist/framework-mcp/src/utils/quality.js +124 -0
  73. package/dist/framework-mcp/src/utils/quality.js.map +1 -0
  74. package/dist/framework-mcp/src/utils/rules-engine.d.ts +78 -0
  75. package/dist/framework-mcp/src/utils/rules-engine.js +232 -0
  76. package/dist/framework-mcp/src/utils/rules-engine.js.map +1 -0
  77. package/dist/framework-mcp/src/utils/silent-router.d.ts +47 -0
  78. package/dist/framework-mcp/src/utils/silent-router.js +129 -0
  79. package/dist/framework-mcp/src/utils/silent-router.js.map +1 -0
  80. package/dist/framework-mcp/src/utils/storage.d.ts +1 -0
  81. package/dist/framework-mcp/src/utils/storage.js +2 -2
  82. package/dist/framework-mcp/src/utils/storage.js.map +1 -1
  83. package/dist/framework-mcp/src/utils/telemetry-streamer.d.ts +133 -0
  84. package/dist/framework-mcp/src/utils/telemetry-streamer.js +397 -0
  85. package/dist/framework-mcp/src/utils/telemetry-streamer.js.map +1 -0
  86. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +2 -2
  87. package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
  88. package/dist/framework-mcp/tests/tools/framework/run_tests.test.d.ts +1 -0
  89. package/dist/framework-mcp/tests/tools/framework/run_tests.test.js +49 -0
  90. package/dist/framework-mcp/tests/tools/framework/run_tests.test.js.map +1 -0
  91. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +14 -5
  92. package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
  93. package/dist/framework-mcp/tests/tools/observability/check_ports.test.d.ts +1 -0
  94. package/dist/framework-mcp/tests/tools/observability/check_ports.test.js +30 -0
  95. package/dist/framework-mcp/tests/tools/observability/check_ports.test.js.map +1 -0
  96. package/dist/framework-mcp/tests/tools/shell/run_command.test.js +7 -0
  97. package/dist/framework-mcp/tests/tools/shell/run_command.test.js.map +1 -1
  98. package/dist/framework-mcp/tests/utils/auto-rollback.test.d.ts +7 -0
  99. package/dist/framework-mcp/tests/utils/auto-rollback.test.js +178 -0
  100. package/dist/framework-mcp/tests/utils/auto-rollback.test.js.map +1 -0
  101. package/dist/framework-mcp/tests/utils/context-optimizer.test.d.ts +1 -0
  102. package/dist/framework-mcp/tests/utils/context-optimizer.test.js +62 -0
  103. package/dist/framework-mcp/tests/utils/context-optimizer.test.js.map +1 -0
  104. package/dist/framework-mcp/tests/utils/finops.test.d.ts +7 -0
  105. package/dist/framework-mcp/tests/utils/finops.test.js +157 -0
  106. package/dist/framework-mcp/tests/utils/finops.test.js.map +1 -0
  107. package/dist/framework-mcp/tests/utils/human-in-loop.test.d.ts +1 -0
  108. package/dist/framework-mcp/tests/utils/human-in-loop.test.js +59 -0
  109. package/dist/framework-mcp/tests/utils/human-in-loop.test.js.map +1 -0
  110. package/dist/framework-mcp/tests/utils/license-scanner.test.d.ts +7 -0
  111. package/dist/framework-mcp/tests/utils/license-scanner.test.js +131 -0
  112. package/dist/framework-mcp/tests/utils/license-scanner.test.js.map +1 -0
  113. package/dist/framework-mcp/tests/utils/loop-detector.test.d.ts +7 -0
  114. package/dist/framework-mcp/tests/utils/loop-detector.test.js +204 -0
  115. package/dist/framework-mcp/tests/utils/loop-detector.test.js.map +1 -0
  116. package/dist/framework-mcp/tests/utils/rules-engine.test.d.ts +1 -0
  117. package/dist/framework-mcp/tests/utils/rules-engine.test.js +106 -0
  118. package/dist/framework-mcp/tests/utils/rules-engine.test.js.map +1 -0
  119. package/dist/framework-mcp/tests/utils/telemetry-streamer.test.d.ts +7 -0
  120. package/dist/framework-mcp/tests/utils/telemetry-streamer.test.js +201 -0
  121. package/dist/framework-mcp/tests/utils/telemetry-streamer.test.js.map +1 -0
  122. package/dist/src/cli/commands/check.js +18 -3
  123. package/dist/src/cli/commands/check.js.map +1 -1
  124. package/dist/src/cli/commands/dashboard.d.ts +1 -1
  125. package/dist/src/cli/commands/dashboard.js +343 -96
  126. package/dist/src/cli/commands/dashboard.js.map +1 -1
  127. package/dist/src/cli/commands/gateway.d.ts +1 -0
  128. package/dist/src/cli/commands/gateway.js +172 -0
  129. package/dist/src/cli/commands/gateway.js.map +1 -0
  130. package/dist/src/cli/commands/init/create-agent.js +3 -3
  131. package/dist/src/cli/commands/init/create-agent.js.map +1 -1
  132. package/dist/src/cli/commands/init/scaffold-core.d.ts +3 -1
  133. package/dist/src/cli/commands/init/scaffold-core.js +17 -2
  134. package/dist/src/cli/commands/init/scaffold-core.js.map +1 -1
  135. package/dist/src/cli/commands/init/scaffold-ops.js +2 -2
  136. package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -1
  137. package/dist/src/cli/commands/init/scaffold-standards.js +13 -1
  138. package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
  139. package/dist/src/cli/commands/init.d.ts +6 -0
  140. package/dist/src/cli/commands/init.js +163 -25
  141. package/dist/src/cli/commands/init.js.map +1 -1
  142. package/dist/src/cli/commands/mcp.d.ts +7 -0
  143. package/dist/src/cli/commands/mcp.js +45 -22
  144. package/dist/src/cli/commands/mcp.js.map +1 -1
  145. package/dist/src/cli/commands/orchestrate.d.ts +8 -7
  146. package/dist/src/cli/commands/orchestrate.js +2 -1
  147. package/dist/src/cli/commands/orchestrate.js.map +1 -1
  148. package/dist/src/cli/commands/quickstart.d.ts +5 -5
  149. package/dist/src/cli/commands/quickstart.js +30 -42
  150. package/dist/src/cli/commands/quickstart.js.map +1 -1
  151. package/dist/src/cli/index.js +228 -317
  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 +11 -11
  169. package/dist/src/cli/utils/fs.d.ts +1 -1
  170. package/dist/src/cli/utils/fs.js +1 -1
  171. package/dist/src/cli/utils/fs.js.map +1 -1
  172. package/dist/src/cli/utils/pkg.js +2 -3
  173. package/dist/src/cli/utils/pkg.js.map +1 -1
  174. package/dist/src/cli/utils/quality.d.ts +10 -0
  175. package/dist/src/cli/utils/quality.js +10 -0
  176. package/dist/src/cli/utils/quality.js.map +1 -0
  177. package/dist/src/modules/agents/definitions.d.ts +2 -2
  178. package/dist/src/modules/agents/definitions.js +104 -63
  179. package/dist/src/modules/agents/definitions.js.map +1 -1
  180. package/dist/src/modules/agents/registry/manager.js +6 -1
  181. package/dist/src/modules/agents/registry/manager.js.map +1 -1
  182. package/dist/src/modules/contracts/api.d.ts +178 -0
  183. package/dist/src/modules/contracts/api.js +56 -0
  184. package/dist/src/modules/contracts/api.js.map +1 -0
  185. package/dist/src/modules/contracts/index.d.ts +5 -0
  186. package/dist/src/modules/contracts/index.js +6 -0
  187. package/dist/src/modules/contracts/index.js.map +1 -0
  188. package/dist/src/modules/engines/agent-executor.d.ts +25 -30
  189. package/dist/src/modules/engines/agent-executor.js +133 -73
  190. package/dist/src/modules/engines/agent-executor.js.map +1 -1
  191. package/dist/src/modules/engines/agent-loop.d.ts +34 -0
  192. package/dist/src/modules/engines/agent-loop.js +102 -0
  193. package/dist/src/modules/engines/agent-loop.js.map +1 -0
  194. package/dist/src/modules/engines/evaluation-engine.js +2 -2
  195. package/dist/src/modules/engines/evaluation-engine.js.map +1 -1
  196. package/dist/src/modules/engines/quality-gate.d.ts +16 -8
  197. package/dist/src/modules/engines/quality-gate.js +42 -34
  198. package/dist/src/modules/engines/quality-gate.js.map +1 -1
  199. package/dist/src/modules/engines/routing-engine.d.ts +21 -28
  200. package/dist/src/modules/engines/routing-engine.js +83 -50
  201. package/dist/src/modules/engines/routing-engine.js.map +1 -1
  202. package/dist/src/modules/gateway/circuit-breaker.d.ts +40 -0
  203. package/dist/src/modules/gateway/circuit-breaker.js +163 -0
  204. package/dist/src/modules/gateway/circuit-breaker.js.map +1 -0
  205. package/dist/src/modules/gateway/cost-tracker.d.ts +60 -0
  206. package/dist/src/modules/gateway/cost-tracker.js +198 -0
  207. package/dist/src/modules/gateway/cost-tracker.js.map +1 -0
  208. package/dist/src/modules/gateway/gateway.d.ts +72 -0
  209. package/dist/src/modules/gateway/gateway.js +243 -0
  210. package/dist/src/modules/gateway/gateway.js.map +1 -0
  211. package/dist/src/modules/gateway/index.d.ts +19 -0
  212. package/dist/src/modules/gateway/index.js +19 -0
  213. package/dist/src/modules/gateway/index.js.map +1 -0
  214. package/dist/src/modules/gateway/load-balancer.d.ts +86 -0
  215. package/dist/src/modules/gateway/load-balancer.js +230 -0
  216. package/dist/src/modules/gateway/load-balancer.js.map +1 -0
  217. package/dist/src/modules/gateway/providers/anthropic.d.ts +14 -0
  218. package/dist/src/modules/gateway/providers/anthropic.js +169 -0
  219. package/dist/src/modules/gateway/providers/anthropic.js.map +1 -0
  220. package/dist/src/modules/gateway/providers/base.d.ts +38 -0
  221. package/dist/src/modules/gateway/providers/base.js +42 -0
  222. package/dist/src/modules/gateway/providers/base.js.map +1 -0
  223. package/dist/src/modules/gateway/providers/google.d.ts +18 -0
  224. package/dist/src/modules/gateway/providers/google.js +176 -0
  225. package/dist/src/modules/gateway/providers/google.js.map +1 -0
  226. package/dist/src/modules/gateway/providers/grok.d.ts +14 -0
  227. package/dist/src/modules/gateway/providers/grok.js +166 -0
  228. package/dist/src/modules/gateway/providers/grok.js.map +1 -0
  229. package/dist/src/modules/gateway/providers/index.d.ts +21 -0
  230. package/dist/src/modules/gateway/providers/index.js +38 -0
  231. package/dist/src/modules/gateway/providers/index.js.map +1 -0
  232. package/dist/src/modules/gateway/providers/ollama.d.ts +23 -0
  233. package/dist/src/modules/gateway/providers/ollama.js +187 -0
  234. package/dist/src/modules/gateway/providers/ollama.js.map +1 -0
  235. package/dist/src/modules/gateway/providers/openai.d.ts +14 -0
  236. package/dist/src/modules/gateway/providers/openai.js +170 -0
  237. package/dist/src/modules/gateway/providers/openai.js.map +1 -0
  238. package/dist/src/modules/gateway/rate-limiter.d.ts +41 -0
  239. package/dist/src/modules/gateway/rate-limiter.js +119 -0
  240. package/dist/src/modules/gateway/rate-limiter.js.map +1 -0
  241. package/dist/src/modules/gateway/types.d.ts +114 -0
  242. package/dist/src/modules/gateway/types.js +8 -0
  243. package/dist/src/modules/gateway/types.js.map +1 -0
  244. package/dist/src/modules/memory/core.d.ts +4 -12
  245. package/dist/src/modules/memory/core.js +10 -17
  246. package/dist/src/modules/memory/core.js.map +1 -1
  247. package/dist/src/modules/memory/embedding.d.ts +28 -0
  248. package/dist/src/modules/memory/embedding.js +131 -0
  249. package/dist/src/modules/memory/embedding.js.map +1 -0
  250. package/dist/src/modules/providers/definitions.d.ts +9 -0
  251. package/dist/src/modules/providers/definitions.js +141 -0
  252. package/dist/src/modules/providers/definitions.js.map +1 -0
  253. package/dist/src/modules/providers/registry.d.ts +12 -0
  254. package/dist/src/modules/providers/registry.js +19 -0
  255. package/dist/src/modules/providers/registry.js.map +1 -0
  256. package/dist/src/modules/providers/shared.d.ts +1 -0
  257. package/dist/src/modules/providers/shared.js +105 -0
  258. package/dist/src/modules/providers/shared.js.map +1 -0
  259. package/dist/src/modules/providers/types.d.ts +14 -0
  260. package/dist/src/modules/providers/types.js +2 -0
  261. package/dist/src/modules/providers/types.js.map +1 -0
  262. package/dist/src/modules/skills/adapter-skills.d.ts +68 -0
  263. package/dist/src/modules/skills/adapter-skills.js +450 -0
  264. package/dist/src/modules/skills/adapter-skills.js.map +1 -0
  265. package/dist/src/shared/audit.d.ts +105 -0
  266. package/dist/src/shared/audit.js +221 -0
  267. package/dist/src/shared/audit.js.map +1 -0
  268. package/dist/src/shared/fs.js +4 -2
  269. package/dist/src/shared/fs.js.map +1 -1
  270. package/dist/src/shared/lock.d.ts +82 -0
  271. package/dist/src/shared/lock.js +160 -0
  272. package/dist/src/shared/lock.js.map +1 -0
  273. package/dist/src/shared/logger.d.ts +2 -0
  274. package/dist/src/shared/logger.js +15 -5
  275. package/dist/src/shared/logger.js.map +1 -1
  276. package/dist/src/shared/pii.d.ts +69 -0
  277. package/dist/src/shared/pii.js +213 -0
  278. package/dist/src/shared/pii.js.map +1 -0
  279. package/dist/src/shared/retention.d.ts +63 -0
  280. package/dist/src/shared/retention.js +171 -0
  281. package/dist/src/shared/retention.js.map +1 -0
  282. package/dist/src/shared/storage.d.ts +22 -1
  283. package/dist/src/shared/storage.js +49 -7
  284. package/dist/src/shared/storage.js.map +1 -1
  285. package/dist/tests/adapter.test.js +1 -1
  286. package/dist/tests/adapter.test.js.map +1 -1
  287. package/dist/tests/adapters/paths.test.js +4 -4
  288. package/dist/tests/adapters/paths.test.js.map +1 -1
  289. package/dist/tests/cli/commands/dashboard-coverage.test.d.ts +1 -0
  290. package/dist/tests/cli/commands/dashboard-coverage.test.js +88 -0
  291. package/dist/tests/cli/commands/dashboard-coverage.test.js.map +1 -0
  292. package/dist/tests/cli/init/adapter_init.test.js +4 -5
  293. package/dist/tests/cli/init/adapter_init.test.js.map +1 -1
  294. package/dist/tests/cli/init/unified_init.test.js +5 -7
  295. package/dist/tests/cli/init/unified_init.test.js.map +1 -1
  296. package/dist/tests/embedding.test.d.ts +1 -0
  297. package/dist/tests/embedding.test.js +82 -0
  298. package/dist/tests/embedding.test.js.map +1 -0
  299. package/dist/tests/engines/evaluation-engine.test.d.ts +1 -0
  300. package/dist/tests/engines/evaluation-engine.test.js +71 -0
  301. package/dist/tests/engines/evaluation-engine.test.js.map +1 -0
  302. package/dist/tests/engines/planning-engine.test.d.ts +1 -0
  303. package/dist/tests/engines/planning-engine.test.js +100 -0
  304. package/dist/tests/engines/planning-engine.test.js.map +1 -0
  305. package/dist/tests/engines/quality-gate.test.d.ts +1 -0
  306. package/dist/tests/engines/quality-gate.test.js +59 -0
  307. package/dist/tests/engines/quality-gate.test.js.map +1 -0
  308. package/dist/tests/engines/risk-engine.test.d.ts +1 -0
  309. package/dist/tests/engines/risk-engine.test.js +80 -0
  310. package/dist/tests/engines/risk-engine.test.js.map +1 -0
  311. package/dist/tests/engines/routing-engine.test.d.ts +1 -0
  312. package/dist/tests/engines/routing-engine.test.js +78 -0
  313. package/dist/tests/engines/routing-engine.test.js.map +1 -0
  314. package/dist/tests/integration/agent_flow.test.js +14 -8
  315. package/dist/tests/integration/agent_flow.test.js.map +1 -1
  316. package/dist/tests/integration/hermes_locking.test.js +1 -0
  317. package/dist/tests/integration/hermes_locking.test.js.map +1 -1
  318. package/dist/tests/modules/adapters/adapters.test.js +2 -2
  319. package/dist/tests/modules/adapters/adapters.test.js.map +1 -1
  320. package/dist/tests/modules/contracts/contracts.test.d.ts +1 -0
  321. package/dist/tests/modules/contracts/contracts.test.js +73 -0
  322. package/dist/tests/modules/contracts/contracts.test.js.map +1 -0
  323. package/dist/tests/modules/engines/agent-executor.test.js +30 -23
  324. package/dist/tests/modules/engines/agent-executor.test.js.map +1 -1
  325. package/dist/tests/modules/gateway/circuit-breaker.test.d.ts +1 -0
  326. package/dist/tests/modules/gateway/circuit-breaker.test.js +124 -0
  327. package/dist/tests/modules/gateway/circuit-breaker.test.js.map +1 -0
  328. package/dist/tests/modules/gateway/cost-tracker.test.d.ts +1 -0
  329. package/dist/tests/modules/gateway/cost-tracker.test.js +93 -0
  330. package/dist/tests/modules/gateway/cost-tracker.test.js.map +1 -0
  331. package/dist/tests/modules/gateway/load-balancer.test.d.ts +1 -0
  332. package/dist/tests/modules/gateway/load-balancer.test.js +70 -0
  333. package/dist/tests/modules/gateway/load-balancer.test.js.map +1 -0
  334. package/dist/tests/modules/gateway/rate-limiter.test.d.ts +1 -0
  335. package/dist/tests/modules/gateway/rate-limiter.test.js +62 -0
  336. package/dist/tests/modules/gateway/rate-limiter.test.js.map +1 -0
  337. package/dist/tests/orchestrator-dependencies.test.js +23 -6
  338. package/dist/tests/orchestrator-dependencies.test.js.map +1 -1
  339. package/dist/tests/shared/audit.test.d.ts +1 -0
  340. package/dist/tests/shared/audit.test.js +53 -0
  341. package/dist/tests/shared/audit.test.js.map +1 -0
  342. package/dist/tests/shared/lock.test.d.ts +1 -0
  343. package/dist/tests/shared/lock.test.js +95 -0
  344. package/dist/tests/shared/lock.test.js.map +1 -0
  345. package/dist/tests/shared/pii.test.d.ts +1 -0
  346. package/dist/tests/shared/pii.test.js +183 -0
  347. package/dist/tests/shared/pii.test.js.map +1 -0
  348. package/dist/tests/storage-operations.test.d.ts +1 -0
  349. package/dist/tests/storage-operations.test.js +116 -0
  350. package/dist/tests/storage-operations.test.js.map +1 -0
  351. package/framework-mcp/README.md +596 -77
  352. package/framework-mcp/dist/dashboard/assets/index-B2mYld0c.js +1221 -0
  353. package/framework-mcp/dist/dashboard/index.html +15 -0
  354. package/framework-mcp/dist/framework-mcp/src/index.js +914 -62
  355. package/framework-mcp/dist/framework-mcp/src/tools/compliance/mask_pii.js +55 -0
  356. package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +24 -1
  357. package/framework-mcp/dist/framework-mcp/src/tools/framework/run_tests.js +25 -0
  358. package/framework-mcp/dist/framework-mcp/src/tools/gateway/llm_gateway_query.js +137 -0
  359. package/framework-mcp/dist/framework-mcp/src/tools/gateway/llm_gateway_status.js +90 -0
  360. package/framework-mcp/dist/framework-mcp/src/tools/index.js +34 -20
  361. package/framework-mcp/dist/framework-mcp/src/tools/messaging/approve_operation.js +80 -0
  362. package/framework-mcp/dist/framework-mcp/src/tools/messaging/ask_human.js +89 -20
  363. package/framework-mcp/dist/framework-mcp/src/tools/observability/check_ports.js +3 -1
  364. package/framework-mcp/dist/framework-mcp/src/tools/quality/analyze_code_quality.js +114 -0
  365. package/framework-mcp/dist/framework-mcp/src/tools/quality/check_architecture_compliance.js +134 -0
  366. package/framework-mcp/dist/framework-mcp/src/tools/schemas.js +32 -7
  367. package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +12 -2
  368. package/framework-mcp/dist/framework-mcp/src/tools/types.js +1 -0
  369. package/framework-mcp/dist/framework-mcp/src/utils/auth.js +78 -0
  370. package/framework-mcp/dist/framework-mcp/src/utils/auto-rollback.js +265 -0
  371. package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +12 -4
  372. package/framework-mcp/dist/framework-mcp/src/utils/context-optimizer.js +156 -0
  373. package/framework-mcp/dist/framework-mcp/src/utils/discipline.js +217 -0
  374. package/framework-mcp/dist/framework-mcp/src/utils/finops.js +325 -0
  375. package/framework-mcp/dist/framework-mcp/src/utils/human-in-loop.js +215 -0
  376. package/framework-mcp/dist/framework-mcp/src/utils/license-scanner.js +283 -0
  377. package/framework-mcp/dist/framework-mcp/src/utils/loop-detector.js +361 -0
  378. package/framework-mcp/dist/framework-mcp/src/utils/quality.js +123 -0
  379. package/framework-mcp/dist/framework-mcp/src/utils/rules-engine.js +231 -0
  380. package/framework-mcp/dist/framework-mcp/src/utils/silent-router.js +128 -0
  381. package/framework-mcp/dist/framework-mcp/src/utils/storage.js +2 -2
  382. package/framework-mcp/dist/framework-mcp/src/utils/telemetry-streamer.js +396 -0
  383. package/framework-mcp/dist/src/cli/platforms/core.js +72 -0
  384. package/framework-mcp/dist/src/cli/platforms/index.js +5 -0
  385. package/framework-mcp/dist/src/cli/platforms/paths.js +101 -0
  386. package/framework-mcp/dist/src/cli/platforms/scaffold.js +72 -0
  387. package/framework-mcp/dist/src/cli/platforms/utils.js +75 -0
  388. package/framework-mcp/dist/src/cli/utils/claude.js +57 -0
  389. package/framework-mcp/dist/src/cli/utils/compliance.js +12 -0
  390. package/framework-mcp/dist/src/cli/utils/fs.js +138 -0
  391. package/framework-mcp/dist/src/cli/utils/pkg.js +282 -0
  392. package/framework-mcp/dist/src/cli/utils/quality.js +9 -0
  393. package/framework-mcp/dist/src/modules/agents/definitions.js +563 -0
  394. package/framework-mcp/dist/src/modules/agents/registry/analyst.js +39 -0
  395. package/framework-mcp/dist/src/modules/agents/registry/architect.js +42 -0
  396. package/framework-mcp/dist/src/modules/agents/registry/backend.js +50 -0
  397. package/framework-mcp/dist/src/modules/agents/registry/database.js +45 -0
  398. package/framework-mcp/dist/src/modules/agents/registry/devops.js +45 -0
  399. package/framework-mcp/dist/src/modules/agents/registry/explorer.js +37 -0
  400. package/framework-mcp/dist/src/modules/agents/registry/frontend.js +52 -0
  401. package/framework-mcp/dist/src/modules/agents/registry/git.js +36 -0
  402. package/framework-mcp/dist/src/modules/agents/registry/manager.js +64 -0
  403. package/framework-mcp/dist/src/modules/agents/registry/mobile.js +41 -0
  404. package/framework-mcp/dist/src/modules/agents/registry/native.js +41 -0
  405. package/framework-mcp/dist/src/modules/agents/registry/quality.js +43 -0
  406. package/framework-mcp/dist/src/modules/agents/registry/security.js +42 -0
  407. package/framework-mcp/dist/src/modules/agents/types.js +1 -0
  408. package/framework-mcp/dist/src/modules/engines/quality-gate.js +92 -0
  409. package/framework-mcp/dist/src/modules/engines/risk-engine.js +105 -0
  410. package/framework-mcp/dist/src/modules/engines/routing-engine.js +408 -0
  411. package/framework-mcp/dist/src/modules/engines/types.js +1 -0
  412. package/framework-mcp/dist/src/modules/memory/core.js +10 -17
  413. package/framework-mcp/dist/src/modules/memory/embedding.js +130 -0
  414. package/framework-mcp/dist/src/modules/providers/definitions.js +140 -0
  415. package/framework-mcp/dist/src/modules/providers/registry.js +18 -0
  416. package/framework-mcp/dist/src/modules/providers/shared.js +104 -0
  417. package/framework-mcp/dist/src/modules/providers/types.js +1 -0
  418. package/framework-mcp/dist/src/modules/skills/adapter-skills.js +449 -0
  419. package/framework-mcp/dist/src/modules/skills/definitions.js +70 -0
  420. package/framework-mcp/dist/src/shared/audit.js +220 -0
  421. package/framework-mcp/dist/src/shared/errors.js +68 -0
  422. package/framework-mcp/dist/src/shared/fs.js +4 -2
  423. package/framework-mcp/dist/src/shared/lock.js +159 -0
  424. package/framework-mcp/dist/src/shared/logger.js +15 -5
  425. package/framework-mcp/dist/src/shared/pii.js +212 -0
  426. package/framework-mcp/dist/src/shared/retention.js +170 -0
  427. package/framework-mcp/dist/src/shared/storage.js +49 -7
  428. package/framework-mcp/dist/src/shared/string.js +29 -0
  429. package/framework-mcp/package.json +8 -2
  430. package/mcp.json +11 -6
  431. package/package.json +22 -9
  432. package/templates/full/ATABEY_FULL.md +515 -0
@@ -2,10 +2,15 @@ import fs from "fs";
2
2
  import http from "http";
3
3
  import path from "path";
4
4
  import { fileURLToPath } from "url";
5
+ import { WebSocket, WebSocketServer } from "ws";
6
+ import { Audit } from "../../shared/audit.js";
5
7
  import { FRAMEWORK } from "../../shared/constants.js";
8
+ import { appendFile } from "../../shared/fs.js";
6
9
  import { Storage } from "../../shared/storage.js";
7
10
  import { asTraceID } from "../../shared/types.js";
11
+ import { scanProjectCompliance } from "../utils/compliance.js";
8
12
  import { getFrameworkDir } from "../utils/memory.js";
13
+ import { analyzePathQuality } from "../utils/quality.js";
9
14
  import { UI } from "../utils/ui.js";
10
15
  /**
11
16
  * Serves a JSON response.
@@ -49,35 +54,42 @@ function parseUrl(url) {
49
54
  return { pathname, params };
50
55
  }
51
56
  /**
52
- * SSE clients store for real-time updates.
57
+ * WebSocket clients store for real-time updates.
53
58
  */
54
- const sseClients = [];
55
- let sseClientId = 0;
56
- function sendSSEEvent(event, data) {
57
- const payload = `event: ${event}\ndata: ${JSON.stringify(data)}\n\n`;
58
- sseClients.forEach((client) => {
59
- try {
60
- client.res.write(payload);
59
+ const wsClients = new Set();
60
+ function broadcastWS(type, payload) {
61
+ const msg = JSON.stringify({ type, payload });
62
+ wsClients.forEach((ws) => {
63
+ if (ws.readyState === WebSocket.OPEN) {
64
+ try {
65
+ ws.send(msg);
66
+ }
67
+ catch {
68
+ wsClients.delete(ws);
69
+ }
61
70
  }
62
- catch {
63
- // Remove disconnected clients
71
+ else {
72
+ wsClients.delete(ws);
64
73
  }
65
74
  });
66
75
  }
67
76
  /**
68
- * [SERVER] Hermes Visual Control Plane (Dashboard Server) — Genişletilmiş
77
+ * [SERVER] Hermes Visual Control Plane (Dashboard Server) — Extended
69
78
  * Serves the framework state as a JSON API and the bundled Web UI.
70
79
  */
71
80
  export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
72
81
  const frameworkDir = getFrameworkDir();
73
82
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
74
83
  const projectRoot = path.resolve(__dirname, "../../../../");
75
- const uiDistPath = path.join(projectRoot, "dist/ui");
84
+ const uiDistPath = path.join(projectRoot, "framework-mcp/dist/dashboard");
76
85
  const server = http.createServer((req, res) => {
77
- // CORS Headers
86
+ // CORS & Cache Headers
78
87
  res.setHeader("Access-Control-Allow-Origin", "*");
79
88
  res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
80
89
  res.setHeader("Access-Control-Allow-Headers", "Content-Type");
90
+ res.setHeader("Cache-Control", "no-store, no-cache, must-revalidate, proxy-revalidate");
91
+ res.setHeader("Pragma", "no-cache");
92
+ res.setHeader("Expires", "0");
81
93
  if (req.method === "OPTIONS") {
82
94
  res.writeHead(204);
83
95
  res.end();
@@ -107,14 +119,33 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
107
119
  if (pathname === "/api/memory/search") {
108
120
  try {
109
121
  const query = params.q || "";
110
- const limit = parseInt(params.limit || "5", 10);
122
+ const limit = parseInt(params.limit || "10", 10);
111
123
  if (!query) {
112
- serveJson(res, 400, { success: false, error: "Search query 'q' is required" });
124
+ const db = Storage.getDB();
125
+ const rows = db.prepare("SELECT * FROM vector_memory ORDER BY created_at DESC LIMIT ?").all(limit);
126
+ const results = rows.map(row => {
127
+ const meta = JSON.parse(row.metadata || "{}");
128
+ return {
129
+ id: row.id,
130
+ content: row.content,
131
+ type: row.category || meta.category || "memory",
132
+ timestamp: meta.createdAt || row.created_at,
133
+ relevance: 1.0
134
+ };
135
+ });
136
+ serveJson(res, 200, { success: true, data: results });
113
137
  return;
114
138
  }
115
139
  import("../../modules/memory/core.js").then(async ({ CoreMemory }) => {
116
140
  const results = await CoreMemory.recall(query, { limit });
117
- serveJson(res, 200, { success: true, data: results });
141
+ const flattened = results.map(r => ({
142
+ id: r.entry.id,
143
+ content: r.entry.content,
144
+ type: r.entry.metadata.category || "memory",
145
+ timestamp: r.entry.metadata.createdAt || new Date().toISOString(),
146
+ relevance: r.score
147
+ }));
148
+ serveJson(res, 200, { success: true, data: flattened });
118
149
  }).catch(e => {
119
150
  serveJson(res, 500, { success: false, error: "Failed to load memory module: " + e.message });
120
151
  });
@@ -138,6 +169,42 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
138
169
  }
139
170
  return;
140
171
  }
172
+ // GDPR & KVKK Audit Logs (SQLite)
173
+ if (pathname === "/api/audit") {
174
+ try {
175
+ Audit.initialize();
176
+ const stats = Audit.getStats();
177
+ const entries = Audit.query({ limit: 100 });
178
+ serveJson(res, 200, { success: true, data: { stats, entries } });
179
+ }
180
+ catch (e) {
181
+ serveJson(res, 500, { success: false, error: e.message });
182
+ }
183
+ return;
184
+ }
185
+ // GDPR / KVKK Right to Erasure Request (Unutulma Hakkı)
186
+ if (pathname === "/api/audit/erase" && req.method === "POST") {
187
+ try {
188
+ Audit.initialize();
189
+ let body = "";
190
+ req.on("data", chunk => { body += chunk.toString(); });
191
+ req.on("end", () => {
192
+ try {
193
+ const parsed = JSON.parse(body);
194
+ const confirmation = parsed.confirmationCode || "";
195
+ const changes = Audit.clearAll(confirmation);
196
+ serveJson(res, 200, { success: true, message: `${changes} records cleared under GDPR Art. 17 / KVKK Art. 7 right to erasure.` });
197
+ }
198
+ catch (err) {
199
+ serveJson(res, 400, { success: false, error: err.message });
200
+ }
201
+ });
202
+ }
203
+ catch (e) {
204
+ serveJson(res, 500, { success: false, error: e.message });
205
+ }
206
+ return;
207
+ }
141
208
  // ─── Messages API ──────────────────────────────────────────────
142
209
  if (pathname === "/api/messages") {
143
210
  try {
@@ -172,6 +239,24 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
172
239
  }
173
240
  return;
174
241
  }
242
+ // ─── Approvals GET API ──────────────────────────────────────────
243
+ if (pathname === "/api/approvals") {
244
+ try {
245
+ const allMessages = Storage.getPendingMessages();
246
+ const approvals = allMessages.filter(m => m.category === "ALERT" || m.category === "ACTION").map(m => ({
247
+ id: String(m.id || m.traceId),
248
+ traceId: m.traceId,
249
+ description: m.content ? (typeof m.content === "string" ? m.content : JSON.stringify(m.content)) : "Approval required",
250
+ status: m.status || "PENDING",
251
+ timestamp: m.timestamp || new Date().toISOString()
252
+ }));
253
+ serveJson(res, 200, { success: true, data: approvals });
254
+ }
255
+ catch (e) {
256
+ serveJson(res, 500, { success: false, error: e.message });
257
+ }
258
+ return;
259
+ }
175
260
  // ─── Approval API ──────────────────────────────────────────────
176
261
  if (pathname.startsWith("/api/approve/") && req.method === "POST") {
177
262
  const traceId = pathname.replace("/api/approve/", "");
@@ -180,87 +265,153 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
180
265
  return;
181
266
  }
182
267
  try {
183
- const db = Storage.getDB();
184
- const messages = db.prepare("SELECT * FROM messages WHERE trace_id = ? AND status = 'PENDING' AND (category = 'ALERT' OR category = 'ACTION')").all(traceId);
185
- if (messages.length === 0) {
268
+ // Approval process via storage abstraction
269
+ const pendingMessages = Storage.getPendingMessages().filter(m => m.traceId === traceId && (m.category === "ALERT" || m.category === "ACTION"));
270
+ if (pendingMessages.length === 0) {
186
271
  serveJson(res, 404, { success: false, error: "No pending approval found for this trace ID" });
187
272
  return;
188
273
  }
189
- messages.forEach((msg) => {
190
- Storage.updateMessageStatus(msg.id, "APPROVED");
274
+ pendingMessages.forEach((msg) => {
275
+ if (msg.id !== undefined) {
276
+ Storage.updateMessageStatus(msg.id, "APPROVED");
277
+ }
191
278
  });
192
- // Log approval to audit
279
+ // Log approval to audit — atomic appendFile kullan
193
280
  const auditPath = path.join(frameworkDir, "observability/audit_log.md");
194
281
  if (fs.existsSync(auditPath)) {
195
282
  const logEntry = "\n- **[" + new Date().toISOString() + "]** USER -> @manager | APPROVED | Trace: " + traceId;
196
- fs.appendFileSync(auditPath, logEntry);
283
+ appendFile(auditPath, logEntry);
284
+ }
285
+ // Notify WS clients
286
+ broadcastWS("approval", { traceId, status: "APPROVED" });
287
+ serveJson(res, 200, { success: true, message: `Trace ${traceId} approved successfully`, approved: pendingMessages.length });
288
+ }
289
+ catch (e) {
290
+ serveJson(res, 500, { success: false, error: e.message });
291
+ }
292
+ return;
293
+ }
294
+ // ─── Rejection API ─────────────────────────────────────────────
295
+ if (pathname.startsWith("/api/reject/") && req.method === "POST") {
296
+ const traceId = pathname.replace("/api/reject/", "");
297
+ if (!traceId) {
298
+ serveJson(res, 400, { success: false, error: "Trace ID is required" });
299
+ return;
300
+ }
301
+ try {
302
+ const pendingMessages = Storage.getPendingMessages().filter(m => m.traceId === traceId && (m.category === "ALERT" || m.category === "ACTION"));
303
+ if (pendingMessages.length === 0) {
304
+ serveJson(res, 404, { success: false, error: "No pending approval found for this trace ID" });
305
+ return;
306
+ }
307
+ pendingMessages.forEach((msg) => {
308
+ if (msg.id !== undefined) {
309
+ Storage.updateMessageStatus(msg.id, "REJECTED");
310
+ }
311
+ });
312
+ // Log rejection to audit
313
+ const auditPath = path.join(frameworkDir, "observability/audit_log.md");
314
+ if (fs.existsSync(auditPath)) {
315
+ const logEntry = "\n- **[" + new Date().toISOString() + "]** USER -> @manager | REJECTED | Trace: " + traceId;
316
+ appendFile(auditPath, logEntry);
197
317
  }
198
- // Notify SSE clients
199
- sendSSEEvent("approval", { traceId, status: "APPROVED" });
200
- serveJson(res, 200, { success: true, message: `Trace ${traceId} approved successfully`, approved: messages.length });
318
+ // Notify WS clients
319
+ broadcastWS("approval", { traceId, status: "REJECTED" });
320
+ serveJson(res, 200, { success: true, message: `Trace ${traceId} rejected successfully`, rejected: pendingMessages.length });
201
321
  }
202
322
  catch (e) {
203
323
  serveJson(res, 500, { success: false, error: e.message });
204
324
  }
205
325
  return;
206
326
  }
327
+ // ─── Hermes Message Queue Stats ────────────────────────────────
328
+ if (pathname === "/api/hermes/stats") {
329
+ try {
330
+ const messages = Storage.getPendingMessages();
331
+ const totalMessages = Storage.getDB().prepare("SELECT COUNT(*) as count FROM messages").get();
332
+ const byCategory = {};
333
+ const byStatus = {};
334
+ messages.forEach(m => {
335
+ byCategory[m.category] = (byCategory[m.category] || 0) + 1;
336
+ byStatus[m.status] = (byStatus[m.status] || 0) + 1;
337
+ });
338
+ serveJson(res, 200, {
339
+ success: true,
340
+ data: {
341
+ total: totalMessages.count,
342
+ pending: messages.length,
343
+ byCategory,
344
+ byStatus,
345
+ lastMessage: messages.length > 0 ? messages[messages.length - 1] : null,
346
+ }
347
+ });
348
+ }
349
+ catch (e) {
350
+ serveJson(res, 500, { success: false, error: e.message });
351
+ }
352
+ return;
353
+ }
354
+ // ─── Code Quality API ──────────────────────────────────────────
355
+ if (pathname === "/api/quality") {
356
+ try {
357
+ const targetPath = params.path || "src";
358
+ const result = analyzePathQuality(projectRoot, targetPath);
359
+ serveJson(res, 200, {
360
+ success: true,
361
+ data: {
362
+ totalFiles: result.totalFiles,
363
+ totalIssues: result.totalIssues,
364
+ longFunctions: result.longFunctions,
365
+ deepNesting: result.deepNesting,
366
+ anyTypes: result.anyTypes,
367
+ issues: result.issues.slice(0, 50),
368
+ }
369
+ });
370
+ }
371
+ catch (e) {
372
+ serveJson(res, 500, { success: false, error: e.message });
373
+ }
374
+ return;
375
+ }
376
+ // ─── Adapter-Skills API ─────────────────────────────────────────
377
+ if (pathname === "/api/adapters/skills") {
378
+ import("../../modules/skills/adapter-skills.js")
379
+ .then(({ ADAPTER_SKILLS }) => {
380
+ const summary = Object.entries(ADAPTER_SKILLS).map(([id, config]) => ({
381
+ id,
382
+ skillCount: Object.keys(config.enabledSkills).length,
383
+ toolsCount: config.toolMapping ? Object.keys(config.toolMapping).length : 0,
384
+ skills: Object.keys(config.enabledSkills),
385
+ }));
386
+ serveJson(res, 200, { success: true, data: summary });
387
+ })
388
+ .catch((e) => {
389
+ serveJson(res, 500, { success: false, error: e.message });
390
+ });
391
+ return;
392
+ }
207
393
  // ─── Compliance API ────────────────────────────────────────────
208
394
  if (pathname === "/api/compliance") {
209
395
  try {
210
396
  const targetPath = params.path || "src";
211
- const violations = [];
212
- // Collect source files synchronously
213
- function collectFilesSync(dir, exts) {
214
- const results = [];
215
- if (!fs.existsSync(dir))
216
- return results;
217
- const entries = fs.readdirSync(dir, { withFileTypes: true });
218
- for (const entry of entries) {
219
- const fullPath = path.join(dir, entry.name);
220
- if (entry.isDirectory()) {
221
- results.push(...collectFilesSync(fullPath, exts));
222
- }
223
- else if (entry.isFile() && exts.some((ext) => entry.name.endsWith(ext))) {
224
- results.push(fullPath);
225
- }
226
- }
227
- return results;
228
- }
229
- const files = collectFilesSync(path.join(projectRoot, targetPath), [".ts", ".tsx", ".js", ".jsx"]);
230
- files.forEach((f) => {
231
- const content = fs.readFileSync(f, "utf8");
232
- const lines = content.split("\n");
233
- // Check for `any` type usage
234
- lines.forEach((line, idx) => {
235
- // Skip comments and type definitions
236
- if (line.trim().startsWith("//") || line.trim().startsWith("/*") || line.trim().startsWith("*"))
237
- return;
238
- const anyMatch = line.match(/\bany\b/);
239
- if (anyMatch && !line.includes("// eslint-disable") && !line.includes("as any")) {
240
- violations.push({
241
- file: path.relative(projectRoot, f),
242
- line: idx + 1,
243
- type: "any-type",
244
- message: "Usage of `any` type is forbidden by ATABEY.md"
245
- });
246
- }
247
- });
248
- // Check for console.log
249
- lines.forEach((line, idx) => {
250
- if (line.trim().startsWith("//") || line.trim().startsWith("/*"))
251
- return;
252
- if (line.includes("console.log") && !line.includes("// eslint-disable")) {
253
- violations.push({
254
- file: path.relative(projectRoot, f),
255
- line: idx + 1,
256
- type: "console-log",
257
- message: "Usage of `console.log` is forbidden; use EnterpriseLogger instead"
258
- });
259
- }
260
- });
397
+ const scanPath = path.join(projectRoot, targetPath);
398
+ // Use the core AST-based scanner to find violations
399
+ const rawIssues = scanProjectCompliance(scanPath);
400
+ const violations = rawIssues.map(issue => {
401
+ const ruleLower = issue.rule.toLowerCase();
402
+ const type = ruleLower.includes("any") ? "any-type"
403
+ : ruleLower.includes("console") ? "console-log"
404
+ : "other";
405
+ return {
406
+ file: path.relative(projectRoot, issue.file),
407
+ line: issue.line,
408
+ type,
409
+ message: issue.rule.replace(/^\[ERROR\]\s*Corporate\s*Compliance\s*Breach:\s*/i, "")
410
+ };
261
411
  });
412
+ const violatingFiles = new Set(violations.map(v => v.file));
262
413
  const summary = {
263
- totalFiles: files.length,
414
+ totalFiles: violatingFiles.size,
264
415
  totalViolations: violations.length,
265
416
  byType: {
266
417
  "any-type": violations.filter((v) => v.type === "any-type").length,
@@ -274,7 +425,56 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
274
425
  }
275
426
  return;
276
427
  }
277
- // ─── SSE (Server-Sent Events) ──────────────────────────────────
428
+ // MCP Sessions
429
+ if (pathname === "/api/mcp/sessions") {
430
+ serveJson(res, 200, { success: true, data: { total: 0, sessions: [] } });
431
+ return;
432
+ }
433
+ // ─── Token Economy / Metrics API ────────────────────────────────
434
+ if (pathname === "/api/metrics") {
435
+ try {
436
+ const frameworkDir = getFrameworkDir();
437
+ const metricsPath = path.join(projectRoot, frameworkDir, "observability/metrics.json");
438
+ let entries = [];
439
+ if (fs.existsSync(metricsPath)) {
440
+ entries = JSON.parse(fs.readFileSync(metricsPath, "utf8"));
441
+ }
442
+ const byAgent = {};
443
+ const byAction = {};
444
+ let totalTokens = 0;
445
+ for (const entry of entries) {
446
+ const agent = entry.agent || "unknown";
447
+ const action = entry.action || "unknown";
448
+ const tokens = entry.estimatedTokens || 0;
449
+ if (!byAgent[agent])
450
+ byAgent[agent] = { calls: 0, tokens: 0, cost: 0 };
451
+ byAgent[agent].calls++;
452
+ byAgent[agent].tokens += tokens;
453
+ byAgent[agent].cost = +(byAgent[agent].tokens / 1000 * 0.003).toFixed(4);
454
+ if (!byAction[action])
455
+ byAction[action] = { calls: 0, tokens: 0 };
456
+ byAction[action].calls++;
457
+ byAction[action].tokens += tokens;
458
+ totalTokens += tokens;
459
+ }
460
+ serveJson(res, 200, {
461
+ success: true,
462
+ data: {
463
+ totalToolCalls: entries.length,
464
+ totalEstimatedTokens: totalTokens,
465
+ totalEstimatedCost: +(totalTokens / 1000 * 0.003).toFixed(4),
466
+ byAgent,
467
+ byAction,
468
+ recentEntries: entries.slice(-100),
469
+ }
470
+ });
471
+ }
472
+ catch (e) {
473
+ serveJson(res, 500, { success: false, error: e.message });
474
+ }
475
+ return;
476
+ }
477
+ // ─── SSE (Server-Sent Events) — Legacy support ─────────────────
278
478
  if (pathname === "/api/events") {
279
479
  res.writeHead(200, {
280
480
  "Content-Type": "text/event-stream",
@@ -282,16 +482,11 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
282
482
  "Connection": "keep-alive",
283
483
  "Access-Control-Allow-Origin": "*",
284
484
  });
285
- const clientId = ++sseClientId;
286
- sseClients.push({ id: clientId, res });
287
485
  // Send initial keepalive
288
486
  res.write(": connected\n\n");
289
- // Remove client on disconnect
290
- req.on("close", () => {
291
- const index = sseClients.findIndex((c) => c.id === clientId);
292
- if (index !== -1)
293
- sseClients.splice(index, 1);
294
- });
487
+ // Keep connection alive
488
+ const keepAlive = setInterval(() => res.write(": keepalive\n\n"), 30000);
489
+ req.on("close", () => clearInterval(keepAlive));
295
490
  return;
296
491
  }
297
492
  // ─── Static UI Serving ─────────────────────────────────────────
@@ -320,21 +515,73 @@ export async function dashboardCommand(port = FRAMEWORK.DASHBOARD_PORT) {
320
515
  serveJson(res, 404, { error: "Not Found", message: "Route not found" });
321
516
  }
322
517
  });
518
+ // ─── WebSocket Server ──────────────────────────────────────────────
519
+ const wss = new WebSocketServer({ server, path: "/ws" });
520
+ wss.on("connection", (ws) => {
521
+ wsClients.add(ws);
522
+ // Send full state immediately on connect
523
+ const agents = Storage.getAllAgents();
524
+ const messages = Storage.getPendingMessages();
525
+ broadcastWS("agent_update", agents);
526
+ broadcastWS("message", messages);
527
+ ws.on("close", () => wsClients.delete(ws));
528
+ ws.on("message", (data) => {
529
+ try {
530
+ const msg = JSON.parse(data.toString());
531
+ if (msg.type === "ping") {
532
+ ws.send(JSON.stringify({ type: "pong" }));
533
+ }
534
+ }
535
+ catch { /* ignore */ }
536
+ });
537
+ });
538
+ // ─── Periodic Live Broadcast (every 5s) ────────────────────────────
539
+ const broadcastInterval = setInterval(() => {
540
+ try {
541
+ // Agents
542
+ const agents = Storage.getAllAgents();
543
+ broadcastWS("agent_update", { agents, timestamp: new Date().toISOString() });
544
+ // Pending Messages
545
+ const messages = Storage.getPendingMessages();
546
+ broadcastWS("message", { messages, timestamp: new Date().toISOString() });
547
+ // Approvals (pending) — via storage abstraction
548
+ const allMessages = Storage.getPendingMessages();
549
+ const approvals = allMessages.filter(m => m.category === "ALERT" || m.category === "ACTION");
550
+ broadcastWS("approval", { approvals, timestamp: new Date().toISOString() });
551
+ // Logs
552
+ const logs = Storage.getLogs().slice(-10);
553
+ broadcastWS("log", { logs, timestamp: new Date().toISOString() });
554
+ }
555
+ catch { /* silent */ }
556
+ }, 5000);
557
+ // Cleanup on server close
558
+ server.on("close", () => {
559
+ clearInterval(broadcastInterval);
560
+ wsClients.clear();
561
+ });
323
562
  server.listen(port, () => {
324
563
  UI.success("\n[START] Hermes Visual Control Plane is running!");
325
564
  UI.success(`[INFO] Web UI: http://localhost:${port}`);
326
565
  UI.success(`[DATA] API Base: http://localhost:${port}/api`);
327
- UI.success(`[SSE] Events: http://localhost:${port}/api/events`);
566
+ UI.success(`[WS] WebSocket: ws://localhost:${port}/ws`);
328
567
  UI.success("[ENDPOINTS]");
329
- UI.success(" GET /api/health → System health check");
330
- UI.success(" GET /api/status → Agent statuses");
331
- UI.success(" GET /api/memory → Project memory (Markdown)");
332
- UI.success(" GET /api/messages → Pending Hermes messages");
333
- UI.success(" GET /api/tasks → Active tasks (?traceId=...)");
334
- UI.success(" GET /api/agents → All registered agents");
335
- UI.success(" POST /api/approve/:id → Approve a trace");
336
- UI.success(" GET /api/compliance → Compliance violations (?path=...)");
337
- UI.success(" GET /api/events → SSE real-time updates");
568
+ UI.success(" GET /api/health → System health check");
569
+ UI.success(" GET /api/status → Agent statuses");
570
+ UI.success(" GET /api/memory → Project memory (Markdown)");
571
+ UI.success(" GET /api/messages → Pending Hermes messages");
572
+ UI.success(" GET /api/tasks → Active tasks (?traceId=...)");
573
+ UI.success(" GET /api/agents → All registered agents");
574
+ UI.success(" POST /api/approve/:id → Approve a trace");
575
+ UI.success(" GET /api/compliance → Compliance violations (?path=...)");
576
+ UI.success(" GET /api/events → SSE (legacy)");
577
+ UI.success(" WS /ws → WebSocket real-time (5s interval)");
578
+ UI.success("[LIVE MODULES]");
579
+ UI.success(" 🤖 Agents → agent_update (every 5s)");
580
+ UI.success(" 📨 Messages → message (every 5s)");
581
+ UI.success(" 🔐 Approvals → approval (every 5s)");
582
+ UI.success(" 🧠 Memory → Memory API (on request)");
583
+ UI.success(" 🛡️ Compliance → Compliance API (on request)");
584
+ UI.success(" 📝 Logs → log (every 5s)");
338
585
  UI.warning("\n(Press Ctrl+C to stop the server)\n");
339
586
  });
340
587
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../src/cli/commands/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../src/cli/commands/dashboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function gatewayCommand(args: string[]): Promise<void>;