@evolith/smart-cli 1.1.0 → 1.1.1

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 (576) hide show
  1. package/ARCHITECTURE.md +1 -1
  2. package/LICENSE +21 -0
  3. package/README.es.md +31 -3
  4. package/README.md +906 -170
  5. package/dist/app.module.js +79 -6
  6. package/dist/app.module.js.map +1 -1
  7. package/dist/commands/adr/adr.command.d.ts +7 -3
  8. package/dist/commands/adr/adr.command.js +50 -78
  9. package/dist/commands/adr/adr.command.js.map +1 -1
  10. package/dist/commands/agents/agents.command.d.ts +14 -0
  11. package/dist/commands/agents/agents.command.js +61 -0
  12. package/dist/commands/agents/agents.command.js.map +1 -0
  13. package/dist/commands/agents/index.d.ts +1 -0
  14. package/dist/commands/agents/index.js +6 -0
  15. package/dist/commands/agents/index.js.map +1 -0
  16. package/dist/commands/alias/alias.command.d.ts +16 -0
  17. package/dist/commands/alias/alias.command.js +95 -0
  18. package/dist/commands/alias/alias.command.js.map +1 -0
  19. package/dist/commands/api/api.catalog.d.ts +38 -0
  20. package/dist/commands/api/api.catalog.js +167 -0
  21. package/dist/commands/api/api.catalog.js.map +1 -0
  22. package/dist/commands/api/api.command.d.ts +21 -0
  23. package/dist/commands/api/api.command.js +162 -0
  24. package/dist/commands/api/api.command.js.map +1 -0
  25. package/dist/commands/architecture/scaffold/index.d.ts +2 -0
  26. package/dist/commands/architecture/scaffold/index.js +6 -0
  27. package/dist/commands/architecture/scaffold/index.js.map +1 -0
  28. package/dist/commands/architecture/scaffold/scaffold-strategy.d.ts +15 -0
  29. package/dist/commands/architecture/scaffold/scaffold-strategy.js +20 -0
  30. package/dist/commands/architecture/scaffold/scaffold-strategy.js.map +1 -0
  31. package/dist/commands/architecture/scaffold.command.d.ts +11 -3
  32. package/dist/commands/architecture/scaffold.command.js +194 -57
  33. package/dist/commands/architecture/scaffold.command.js.map +1 -1
  34. package/dist/commands/completion/completion.command.d.ts +12 -4
  35. package/dist/commands/completion/completion.command.js +159 -53
  36. package/dist/commands/completion/completion.command.js.map +1 -1
  37. package/dist/commands/docs/docs.command.d.ts +6 -3
  38. package/dist/commands/docs/docs.command.js +75 -16
  39. package/dist/commands/docs/docs.command.js.map +1 -1
  40. package/dist/commands/drift/drift.command.d.ts +7 -3
  41. package/dist/commands/drift/drift.command.js +82 -49
  42. package/dist/commands/drift/drift.command.js.map +1 -1
  43. package/dist/commands/fixtures/fixtures.command.d.ts +21 -0
  44. package/dist/commands/fixtures/fixtures.command.js +310 -0
  45. package/dist/commands/fixtures/fixtures.command.js.map +1 -0
  46. package/dist/commands/gate/gate.command.d.ts +9 -3
  47. package/dist/commands/gate/gate.command.js +36 -53
  48. package/dist/commands/gate/gate.command.js.map +1 -1
  49. package/dist/commands/history/history.command.d.ts +3 -3
  50. package/dist/commands/history/history.command.js +24 -55
  51. package/dist/commands/history/history.command.js.map +1 -1
  52. package/dist/commands/init/agents.command.d.ts +6 -4
  53. package/dist/commands/init/agents.command.js +142 -314
  54. package/dist/commands/init/agents.command.js.map +1 -1
  55. package/dist/commands/init/init.command.d.ts +9 -3
  56. package/dist/commands/init/init.command.js +39 -198
  57. package/dist/commands/init/init.command.js.map +1 -1
  58. package/dist/commands/init/init.wizard.d.ts +19 -0
  59. package/dist/commands/init/init.wizard.js +181 -0
  60. package/dist/commands/init/init.wizard.js.map +1 -0
  61. package/dist/commands/init/upgrade.command.d.ts +6 -3
  62. package/dist/commands/init/upgrade.command.js +34 -66
  63. package/dist/commands/init/upgrade.command.js.map +1 -1
  64. package/dist/commands/mcp/mcp-serve.command.d.ts +7 -5
  65. package/dist/commands/mcp/mcp-serve.command.js +84 -37
  66. package/dist/commands/mcp/mcp-serve.command.js.map +1 -1
  67. package/dist/commands/phase/phase-advance.command.d.ts +30 -0
  68. package/dist/commands/phase/phase-advance.command.js +206 -0
  69. package/dist/commands/phase/phase-advance.command.js.map +1 -0
  70. package/dist/commands/profile/profile.command.d.ts +18 -0
  71. package/dist/commands/profile/profile.command.js +198 -0
  72. package/dist/commands/profile/profile.command.js.map +1 -0
  73. package/dist/commands/sdlc/gate-status.command.d.ts +6 -3
  74. package/dist/commands/sdlc/gate-status.command.js +54 -81
  75. package/dist/commands/sdlc/gate-status.command.js.map +1 -1
  76. package/dist/commands/sdlc/generate-domain.command.d.ts +4 -3
  77. package/dist/commands/sdlc/generate-domain.command.js +35 -36
  78. package/dist/commands/sdlc/generate-domain.command.js.map +1 -1
  79. package/dist/commands/sdlc/handoff.command.d.ts +9 -4
  80. package/dist/commands/sdlc/handoff.command.js +106 -104
  81. package/dist/commands/sdlc/handoff.command.js.map +1 -1
  82. package/dist/commands/sdlc/sdlc.command.d.ts +4 -3
  83. package/dist/commands/sdlc/sdlc.command.js +17 -43
  84. package/dist/commands/sdlc/sdlc.command.js.map +1 -1
  85. package/dist/commands/standards/standards.command.d.ts +6 -3
  86. package/dist/commands/standards/standards.command.js +52 -77
  87. package/dist/commands/standards/standards.command.js.map +1 -1
  88. package/dist/commands/update/update.command.d.ts +21 -0
  89. package/dist/commands/update/update.command.js +214 -0
  90. package/dist/commands/update/update.command.js.map +1 -0
  91. package/dist/commands/upgrade/index.d.ts +1 -0
  92. package/dist/commands/upgrade/index.js +6 -0
  93. package/dist/commands/upgrade/index.js.map +1 -0
  94. package/dist/commands/upgrade/upgrade.command.d.ts +14 -0
  95. package/dist/commands/upgrade/upgrade.command.js +58 -0
  96. package/dist/commands/upgrade/upgrade.command.js.map +1 -0
  97. package/dist/commands/validate/validate.command.d.ts +22 -4
  98. package/dist/commands/validate/validate.command.js +295 -65
  99. package/dist/commands/validate/validate.command.js.map +1 -1
  100. package/dist/config/alias.service.d.ts +14 -0
  101. package/dist/{core/sync/sync.service.js → config/alias.service.js} +54 -32
  102. package/dist/config/alias.service.js.map +1 -0
  103. package/dist/contributions/contribution-validator.d.ts +16 -0
  104. package/dist/contributions/contribution-validator.js +34 -0
  105. package/dist/contributions/contribution-validator.js.map +1 -0
  106. package/dist/contributions/index.d.ts +1 -0
  107. package/dist/contributions/index.js +6 -0
  108. package/dist/contributions/index.js.map +1 -0
  109. package/dist/{domain/services → infrastructure/adapters}/agent-registry.service.d.ts +6 -2
  110. package/dist/{domain/services → infrastructure/adapters}/agent-registry.service.js +33 -10
  111. package/dist/infrastructure/adapters/agent-registry.service.js.map +1 -0
  112. package/dist/{core → infrastructure}/architecture/nx-workspace.strategy.d.ts +6 -1
  113. package/dist/{core → infrastructure}/architecture/nx-workspace.strategy.js +27 -38
  114. package/dist/infrastructure/architecture/nx-workspace.strategy.js.map +1 -0
  115. package/dist/infrastructure/catalog/catalog-loader.d.ts +1 -2
  116. package/dist/infrastructure/catalog/catalog-loader.js +14 -5
  117. package/dist/infrastructure/catalog/catalog-loader.js.map +1 -1
  118. package/dist/infrastructure/cli/base-command.d.ts +14 -0
  119. package/dist/infrastructure/cli/base-command.js +41 -0
  120. package/dist/infrastructure/cli/base-command.js.map +1 -0
  121. package/dist/infrastructure/cli/command-executor.d.ts +1 -1
  122. package/dist/infrastructure/cli/command-executor.js +4 -3
  123. package/dist/infrastructure/cli/command-executor.js.map +1 -1
  124. package/dist/infrastructure/config/config.service.d.ts +34 -0
  125. package/dist/infrastructure/config/config.service.js +126 -0
  126. package/dist/infrastructure/config/config.service.js.map +1 -0
  127. package/dist/infrastructure/filesystem/file-manager.service.d.ts +12 -0
  128. package/dist/{core → infrastructure}/filesystem/file-manager.service.js +8 -25
  129. package/dist/infrastructure/filesystem/file-manager.service.js.map +1 -0
  130. package/dist/infrastructure/formatters/output-formatter.service.js +2 -1
  131. package/dist/infrastructure/formatters/output-formatter.service.js.map +1 -1
  132. package/dist/{core → infrastructure}/observability/command-watcher.js +31 -0
  133. package/dist/infrastructure/observability/command-watcher.js.map +1 -0
  134. package/dist/{core → infrastructure}/observability/error-reporter.js +5 -5
  135. package/dist/infrastructure/observability/error-reporter.js.map +1 -0
  136. package/dist/infrastructure/observability/index.d.ts +11 -0
  137. package/dist/{core → infrastructure}/observability/index.js +6 -1
  138. package/dist/infrastructure/observability/index.js.map +1 -0
  139. package/dist/infrastructure/observability/otel-tracing.d.ts +4 -0
  140. package/dist/infrastructure/observability/otel-tracing.js +34 -0
  141. package/dist/infrastructure/observability/otel-tracing.js.map +1 -0
  142. package/dist/infrastructure/observability/structured-logger.js.map +1 -0
  143. package/dist/infrastructure/observability/timing.js.map +1 -0
  144. package/dist/infrastructure/observability/tool-usage-telemetry.service.js.map +1 -0
  145. package/dist/infrastructure/plugins/plugin-loader.d.ts +10 -0
  146. package/dist/infrastructure/plugins/plugin-loader.js +145 -0
  147. package/dist/infrastructure/plugins/plugin-loader.js.map +1 -0
  148. package/dist/infrastructure/plugins/plugin.module.d.ts +4 -0
  149. package/dist/infrastructure/plugins/plugin.module.js +28 -0
  150. package/dist/infrastructure/plugins/plugin.module.js.map +1 -0
  151. package/dist/infrastructure/prompts/init-prompt-group.d.ts +3 -0
  152. package/dist/infrastructure/prompts/init-prompt-group.js +115 -0
  153. package/dist/infrastructure/prompts/init-prompt-group.js.map +1 -0
  154. package/dist/infrastructure/prompts/init-prompt-options.d.ts +10 -0
  155. package/dist/infrastructure/prompts/init-prompt-options.js +40 -0
  156. package/dist/infrastructure/prompts/init-prompt-options.js.map +1 -0
  157. package/dist/infrastructure/prompts/progress.service.d.ts +24 -0
  158. package/dist/infrastructure/prompts/progress.service.js +180 -0
  159. package/dist/infrastructure/prompts/progress.service.js.map +1 -0
  160. package/dist/infrastructure/prompts/prompt.service.d.ts +42 -0
  161. package/dist/infrastructure/prompts/prompt.service.js +142 -0
  162. package/dist/infrastructure/prompts/prompt.service.js.map +1 -0
  163. package/dist/infrastructure/prompts/wizard.service.d.ts +27 -0
  164. package/dist/infrastructure/prompts/wizard.service.js +163 -0
  165. package/dist/infrastructure/prompts/wizard.service.js.map +1 -0
  166. package/dist/{core/abstractions → infrastructure}/providers/config-parser.provider.d.ts +1 -1
  167. package/dist/infrastructure/providers/config-parser.provider.js.map +1 -0
  168. package/dist/{core/abstractions → infrastructure}/providers/logger.provider.d.ts +1 -1
  169. package/dist/infrastructure/providers/logger.provider.js.map +1 -0
  170. package/dist/{core/abstractions → infrastructure}/providers/mock-filesystem.provider.d.ts +5 -2
  171. package/dist/{core/abstractions → infrastructure}/providers/mock-filesystem.provider.js +4 -1
  172. package/dist/infrastructure/providers/mock-filesystem.provider.js.map +1 -0
  173. package/dist/{core/abstractions → infrastructure}/providers/node-filesystem.provider.d.ts +5 -2
  174. package/dist/{core/abstractions → infrastructure}/providers/node-filesystem.provider.js +9 -0
  175. package/dist/infrastructure/providers/node-filesystem.provider.js.map +1 -0
  176. package/dist/main.js +18 -1
  177. package/dist/main.js.map +1 -1
  178. package/dist/plugins/index.d.ts +1 -0
  179. package/dist/plugins/index.js +6 -0
  180. package/dist/plugins/index.js.map +1 -0
  181. package/dist/plugins/plugin-registry.d.ts +22 -0
  182. package/dist/plugins/plugin-registry.js +33 -0
  183. package/dist/plugins/plugin-registry.js.map +1 -0
  184. package/package.json +50 -41
  185. package/shell/hooks.bash +68 -0
  186. package/shell/hooks.fish +57 -0
  187. package/shell/hooks.zsh +68 -0
  188. package/dist/app.module.spec.d.ts +0 -1
  189. package/dist/app.module.spec.js +0 -305
  190. package/dist/app.module.spec.js.map +0 -1
  191. package/dist/application/ports/webhook-notifier.port.d.ts +0 -4
  192. package/dist/application/ports/webhook-notifier.port.js +0 -3
  193. package/dist/application/ports/webhook-notifier.port.js.map +0 -1
  194. package/dist/application/services/index.d.ts +0 -64
  195. package/dist/application/services/index.js +0 -371
  196. package/dist/application/services/index.js.map +0 -1
  197. package/dist/application/services/initialize-project.spec.d.ts +0 -1
  198. package/dist/application/services/initialize-project.spec.js +0 -211
  199. package/dist/application/services/initialize-project.spec.js.map +0 -1
  200. package/dist/application/services/phase-transition.use-case.spec.d.ts +0 -1
  201. package/dist/application/services/phase-transition.use-case.spec.js +0 -297
  202. package/dist/application/services/phase-transition.use-case.spec.js.map +0 -1
  203. package/dist/application/services/services.test.d.ts +0 -1
  204. package/dist/application/services/services.test.js +0 -176
  205. package/dist/application/services/services.test.js.map +0 -1
  206. package/dist/application/use-cases/evaluate-gate.use-case.d.ts +0 -20
  207. package/dist/application/use-cases/evaluate-gate.use-case.js +0 -72
  208. package/dist/application/use-cases/evaluate-gate.use-case.js.map +0 -1
  209. package/dist/application/use-cases/validate-satellite.use-case.d.ts +0 -19
  210. package/dist/application/use-cases/validate-satellite.use-case.js +0 -96
  211. package/dist/application/use-cases/validate-satellite.use-case.js.map +0 -1
  212. package/dist/application/use-cases/validate-satellite.use-case.spec.d.ts +0 -1
  213. package/dist/application/use-cases/validate-satellite.use-case.spec.js +0 -102
  214. package/dist/application/use-cases/validate-satellite.use-case.spec.js.map +0 -1
  215. package/dist/commands/adr/adr.command.spec.d.ts +0 -1
  216. package/dist/commands/adr/adr.command.spec.js +0 -409
  217. package/dist/commands/adr/adr.command.spec.js.map +0 -1
  218. package/dist/commands/architecture/scaffold.command.spec.d.ts +0 -1
  219. package/dist/commands/architecture/scaffold.command.spec.js +0 -207
  220. package/dist/commands/architecture/scaffold.command.spec.js.map +0 -1
  221. package/dist/commands/commands.test.d.ts +0 -1
  222. package/dist/commands/commands.test.js +0 -131
  223. package/dist/commands/commands.test.js.map +0 -1
  224. package/dist/commands/completion/completion.command.spec.d.ts +0 -1
  225. package/dist/commands/completion/completion.command.spec.js +0 -240
  226. package/dist/commands/completion/completion.command.spec.js.map +0 -1
  227. package/dist/commands/docs/docs.command.spec.d.ts +0 -1
  228. package/dist/commands/docs/docs.command.spec.js +0 -87
  229. package/dist/commands/docs/docs.command.spec.js.map +0 -1
  230. package/dist/commands/drift/drift.command.spec.d.ts +0 -1
  231. package/dist/commands/drift/drift.command.spec.js +0 -327
  232. package/dist/commands/drift/drift.command.spec.js.map +0 -1
  233. package/dist/commands/history/history.command.spec.d.ts +0 -1
  234. package/dist/commands/history/history.command.spec.js +0 -392
  235. package/dist/commands/history/history.command.spec.js.map +0 -1
  236. package/dist/commands/init/agents.command.spec.d.ts +0 -1
  237. package/dist/commands/init/agents.command.spec.js +0 -550
  238. package/dist/commands/init/agents.command.spec.js.map +0 -1
  239. package/dist/commands/init/init.command.spec.d.ts +0 -1
  240. package/dist/commands/init/init.command.spec.js +0 -272
  241. package/dist/commands/init/init.command.spec.js.map +0 -1
  242. package/dist/commands/init/upgrade.command.spec.d.ts +0 -1
  243. package/dist/commands/init/upgrade.command.spec.js +0 -378
  244. package/dist/commands/init/upgrade.command.spec.js.map +0 -1
  245. package/dist/commands/mcp/mcp-serve.command.spec.d.ts +0 -1
  246. package/dist/commands/mcp/mcp-serve.command.spec.js +0 -58
  247. package/dist/commands/mcp/mcp-serve.command.spec.js.map +0 -1
  248. package/dist/commands/sdlc/gate-status.command.spec.d.ts +0 -1
  249. package/dist/commands/sdlc/gate-status.command.spec.js +0 -302
  250. package/dist/commands/sdlc/gate-status.command.spec.js.map +0 -1
  251. package/dist/commands/sdlc/generate-domain.command.spec.d.ts +0 -1
  252. package/dist/commands/sdlc/generate-domain.command.spec.js +0 -121
  253. package/dist/commands/sdlc/generate-domain.command.spec.js.map +0 -1
  254. package/dist/commands/sdlc/handoff.command.spec.d.ts +0 -1
  255. package/dist/commands/sdlc/handoff.command.spec.js +0 -395
  256. package/dist/commands/sdlc/handoff.command.spec.js.map +0 -1
  257. package/dist/commands/sdlc/sdlc.command.spec.d.ts +0 -1
  258. package/dist/commands/sdlc/sdlc.command.spec.js +0 -79
  259. package/dist/commands/sdlc/sdlc.command.spec.js.map +0 -1
  260. package/dist/commands/standards/standards.command.spec.d.ts +0 -1
  261. package/dist/commands/standards/standards.command.spec.js +0 -311
  262. package/dist/commands/standards/standards.command.spec.js.map +0 -1
  263. package/dist/commands/validate/validate.command.spec.d.ts +0 -1
  264. package/dist/commands/validate/validate.command.spec.js +0 -368
  265. package/dist/commands/validate/validate.command.spec.js.map +0 -1
  266. package/dist/config/runtimes.json +0 -196
  267. package/dist/config/tool-catalog.json +0 -343
  268. package/dist/core/abstractions/index.d.ts +0 -6
  269. package/dist/core/abstractions/index.js +0 -23
  270. package/dist/core/abstractions/index.js.map +0 -1
  271. package/dist/core/abstractions/interfaces.d.ts +0 -61
  272. package/dist/core/abstractions/interfaces.js +0 -5
  273. package/dist/core/abstractions/interfaces.js.map +0 -1
  274. package/dist/core/abstractions/providers/config-parser.provider.js.map +0 -1
  275. package/dist/core/abstractions/providers/config-parser.provider.spec.d.ts +0 -1
  276. package/dist/core/abstractions/providers/config-parser.provider.spec.js +0 -18
  277. package/dist/core/abstractions/providers/config-parser.provider.spec.js.map +0 -1
  278. package/dist/core/abstractions/providers/logger.provider.js.map +0 -1
  279. package/dist/core/abstractions/providers/logger.provider.spec.d.ts +0 -1
  280. package/dist/core/abstractions/providers/logger.provider.spec.js +0 -212
  281. package/dist/core/abstractions/providers/logger.provider.spec.js.map +0 -1
  282. package/dist/core/abstractions/providers/mock-filesystem.provider.js.map +0 -1
  283. package/dist/core/abstractions/providers/mock-filesystem.provider.spec.d.ts +0 -1
  284. package/dist/core/abstractions/providers/mock-filesystem.provider.spec.js +0 -56
  285. package/dist/core/abstractions/providers/mock-filesystem.provider.spec.js.map +0 -1
  286. package/dist/core/abstractions/providers/node-filesystem.provider.js.map +0 -1
  287. package/dist/core/agents/agent-ruleset-builder.d.ts +0 -30
  288. package/dist/core/agents/agent-ruleset-builder.js +0 -75
  289. package/dist/core/agents/agent-ruleset-builder.js.map +0 -1
  290. package/dist/core/agents/agent-ruleset-builder.spec.d.ts +0 -1
  291. package/dist/core/agents/agent-ruleset-builder.spec.js +0 -135
  292. package/dist/core/agents/agent-ruleset-builder.spec.js.map +0 -1
  293. package/dist/core/architecture/nx-workspace.strategy.js.map +0 -1
  294. package/dist/core/architecture/nx-workspace.strategy.spec.d.ts +0 -1
  295. package/dist/core/architecture/nx-workspace.strategy.spec.js +0 -187
  296. package/dist/core/architecture/nx-workspace.strategy.spec.js.map +0 -1
  297. package/dist/core/architecture/workspace-manager.strategy.d.ts +0 -8
  298. package/dist/core/architecture/workspace-manager.strategy.js +0 -3
  299. package/dist/core/architecture/workspace-manager.strategy.js.map +0 -1
  300. package/dist/core/config/config.service.d.ts +0 -15
  301. package/dist/core/config/config.service.js +0 -55
  302. package/dist/core/config/config.service.js.map +0 -1
  303. package/dist/core/config/config.service.spec.d.ts +0 -1
  304. package/dist/core/config/config.service.spec.js +0 -43
  305. package/dist/core/config/config.service.spec.js.map +0 -1
  306. package/dist/core/di/container.d.ts +0 -25
  307. package/dist/core/di/container.js +0 -87
  308. package/dist/core/di/container.js.map +0 -1
  309. package/dist/core/di/container.spec.d.ts +0 -1
  310. package/dist/core/di/container.spec.js +0 -301
  311. package/dist/core/di/container.spec.js.map +0 -1
  312. package/dist/core/errors/index.d.ts +0 -26
  313. package/dist/core/errors/index.js +0 -67
  314. package/dist/core/errors/index.js.map +0 -1
  315. package/dist/core/filesystem/file-manager.service.d.ts +0 -4
  316. package/dist/core/filesystem/file-manager.service.js.map +0 -1
  317. package/dist/core/filesystem/file-manager.service.spec.d.ts +0 -1
  318. package/dist/core/filesystem/file-manager.service.spec.js +0 -103
  319. package/dist/core/filesystem/file-manager.service.spec.js.map +0 -1
  320. package/dist/core/generators/hexagonal-scaffolder.d.ts +0 -6
  321. package/dist/core/generators/hexagonal-scaffolder.js +0 -260
  322. package/dist/core/generators/hexagonal-scaffolder.js.map +0 -1
  323. package/dist/core/generators/hexagonal-scaffolder.spec.d.ts +0 -1
  324. package/dist/core/generators/hexagonal-scaffolder.spec.js +0 -164
  325. package/dist/core/generators/hexagonal-scaffolder.spec.js.map +0 -1
  326. package/dist/core/generators/mermaid-class-parser.d.ts +0 -38
  327. package/dist/core/generators/mermaid-class-parser.js +0 -183
  328. package/dist/core/generators/mermaid-class-parser.js.map +0 -1
  329. package/dist/core/generators/mermaid-class-parser.spec.d.ts +0 -1
  330. package/dist/core/generators/mermaid-class-parser.spec.js +0 -148
  331. package/dist/core/generators/mermaid-class-parser.spec.js.map +0 -1
  332. package/dist/core/mcp/mcp-server.service.d.ts +0 -7
  333. package/dist/core/mcp/mcp-server.service.js +0 -31
  334. package/dist/core/mcp/mcp-server.service.js.map +0 -1
  335. package/dist/core/mcp/metrics.service.d.ts +0 -37
  336. package/dist/core/mcp/metrics.service.js +0 -72
  337. package/dist/core/mcp/metrics.service.js.map +0 -1
  338. package/dist/core/mcp/metrics.service.spec.d.ts +0 -1
  339. package/dist/core/mcp/metrics.service.spec.js +0 -159
  340. package/dist/core/mcp/metrics.service.spec.js.map +0 -1
  341. package/dist/core/mcp/prompts/index.d.ts +0 -22
  342. package/dist/core/mcp/prompts/index.js +0 -211
  343. package/dist/core/mcp/prompts/index.js.map +0 -1
  344. package/dist/core/mcp/prompts/index.spec.d.ts +0 -1
  345. package/dist/core/mcp/prompts/index.spec.js +0 -150
  346. package/dist/core/mcp/prompts/index.spec.js.map +0 -1
  347. package/dist/core/mcp/resources/index.d.ts +0 -11
  348. package/dist/core/mcp/resources/index.js +0 -209
  349. package/dist/core/mcp/resources/index.js.map +0 -1
  350. package/dist/core/mcp/resources/index.spec.d.ts +0 -1
  351. package/dist/core/mcp/resources/index.spec.js +0 -212
  352. package/dist/core/mcp/resources/index.spec.js.map +0 -1
  353. package/dist/core/mcp/server.d.ts +0 -33
  354. package/dist/core/mcp/server.js +0 -693
  355. package/dist/core/mcp/server.js.map +0 -1
  356. package/dist/core/mcp/server.spec.d.ts +0 -1
  357. package/dist/core/mcp/server.spec.js +0 -579
  358. package/dist/core/mcp/server.spec.js.map +0 -1
  359. package/dist/core/mcp/tools/agent.d.ts +0 -41
  360. package/dist/core/mcp/tools/agent.js +0 -195
  361. package/dist/core/mcp/tools/agent.js.map +0 -1
  362. package/dist/core/mcp/tools/agent.spec.d.ts +0 -1
  363. package/dist/core/mcp/tools/agent.spec.js +0 -171
  364. package/dist/core/mcp/tools/agent.spec.js.map +0 -1
  365. package/dist/core/mcp/tools/architecture.d.ts +0 -29
  366. package/dist/core/mcp/tools/architecture.js +0 -234
  367. package/dist/core/mcp/tools/architecture.js.map +0 -1
  368. package/dist/core/mcp/tools/architecture.spec.d.ts +0 -1
  369. package/dist/core/mcp/tools/architecture.spec.js +0 -145
  370. package/dist/core/mcp/tools/architecture.spec.js.map +0 -1
  371. package/dist/core/mcp/tools/gate.d.ts +0 -1
  372. package/dist/core/mcp/tools/gate.js +0 -68
  373. package/dist/core/mcp/tools/gate.js.map +0 -1
  374. package/dist/core/mcp/tools/moscow.d.ts +0 -30
  375. package/dist/core/mcp/tools/moscow.js +0 -113
  376. package/dist/core/mcp/tools/moscow.js.map +0 -1
  377. package/dist/core/mcp/tools/moscow.spec.d.ts +0 -1
  378. package/dist/core/mcp/tools/moscow.spec.js +0 -209
  379. package/dist/core/mcp/tools/moscow.spec.js.map +0 -1
  380. package/dist/core/mcp/tools/sdlc.d.ts +0 -32
  381. package/dist/core/mcp/tools/sdlc.js +0 -190
  382. package/dist/core/mcp/tools/sdlc.js.map +0 -1
  383. package/dist/core/mcp/tools/sdlc.spec.d.ts +0 -1
  384. package/dist/core/mcp/tools/sdlc.spec.js +0 -170
  385. package/dist/core/mcp/tools/sdlc.spec.js.map +0 -1
  386. package/dist/core/mcp/tools/tool-utils.d.ts +0 -4
  387. package/dist/core/mcp/tools/tool-utils.js +0 -18
  388. package/dist/core/mcp/tools/tool-utils.js.map +0 -1
  389. package/dist/core/mcp/tools/validate.d.ts +0 -18
  390. package/dist/core/mcp/tools/validate.js +0 -56
  391. package/dist/core/mcp/tools/validate.js.map +0 -1
  392. package/dist/core/mcp/tools/validate.spec.d.ts +0 -1
  393. package/dist/core/mcp/tools/validate.spec.js +0 -130
  394. package/dist/core/mcp/tools/validate.spec.js.map +0 -1
  395. package/dist/core/mcp/watcher.service.d.ts +0 -8
  396. package/dist/core/mcp/watcher.service.js +0 -82
  397. package/dist/core/mcp/watcher.service.js.map +0 -1
  398. package/dist/core/mcp/watcher.service.spec.d.ts +0 -1
  399. package/dist/core/mcp/watcher.service.spec.js +0 -171
  400. package/dist/core/mcp/watcher.service.spec.js.map +0 -1
  401. package/dist/core/metrics/dora-calculator.d.ts +0 -18
  402. package/dist/core/metrics/dora-calculator.js +0 -146
  403. package/dist/core/metrics/dora-calculator.js.map +0 -1
  404. package/dist/core/metrics/dora-calculator.spec.d.ts +0 -1
  405. package/dist/core/metrics/dora-calculator.spec.js +0 -164
  406. package/dist/core/metrics/dora-calculator.spec.js.map +0 -1
  407. package/dist/core/metrics/git-log-reader.d.ts +0 -14
  408. package/dist/core/metrics/git-log-reader.js +0 -39
  409. package/dist/core/metrics/git-log-reader.js.map +0 -1
  410. package/dist/core/metrics/git-log-reader.spec.d.ts +0 -1
  411. package/dist/core/metrics/git-log-reader.spec.js +0 -108
  412. package/dist/core/metrics/git-log-reader.spec.js.map +0 -1
  413. package/dist/core/observability/command-watcher.js.map +0 -1
  414. package/dist/core/observability/command-watcher.spec.d.ts +0 -1
  415. package/dist/core/observability/command-watcher.spec.js +0 -123
  416. package/dist/core/observability/command-watcher.spec.js.map +0 -1
  417. package/dist/core/observability/error-reporter.js.map +0 -1
  418. package/dist/core/observability/error-reporter.spec.d.ts +0 -1
  419. package/dist/core/observability/error-reporter.spec.js +0 -291
  420. package/dist/core/observability/error-reporter.spec.js.map +0 -1
  421. package/dist/core/observability/index.d.ts +0 -5
  422. package/dist/core/observability/index.js.map +0 -1
  423. package/dist/core/observability/observability.test.d.ts +0 -1
  424. package/dist/core/observability/observability.test.js +0 -224
  425. package/dist/core/observability/observability.test.js.map +0 -1
  426. package/dist/core/observability/structured-logger.js.map +0 -1
  427. package/dist/core/observability/structured-logger.spec.d.ts +0 -1
  428. package/dist/core/observability/structured-logger.spec.js +0 -197
  429. package/dist/core/observability/structured-logger.spec.js.map +0 -1
  430. package/dist/core/observability/timing.js.map +0 -1
  431. package/dist/core/observability/timing.spec.d.ts +0 -1
  432. package/dist/core/observability/timing.spec.js +0 -216
  433. package/dist/core/observability/timing.spec.js.map +0 -1
  434. package/dist/core/observability/tool-usage-telemetry.service.js.map +0 -1
  435. package/dist/core/services/command-executor.service.d.ts +0 -3
  436. package/dist/core/services/command-executor.service.js +0 -12
  437. package/dist/core/services/command-executor.service.js.map +0 -1
  438. package/dist/core/services/command-history.service.d.ts +0 -39
  439. package/dist/core/services/command-history.service.js +0 -150
  440. package/dist/core/services/command-history.service.js.map +0 -1
  441. package/dist/core/services/command-history.service.spec.d.ts +0 -1
  442. package/dist/core/services/command-history.service.spec.js +0 -257
  443. package/dist/core/services/command-history.service.spec.js.map +0 -1
  444. package/dist/core/services/command-providers.d.ts +0 -1
  445. package/dist/core/services/command-providers.js +0 -17
  446. package/dist/core/services/command-providers.js.map +0 -1
  447. package/dist/core/services/runtime-catalog.service.d.ts +0 -2
  448. package/dist/core/services/runtime-catalog.service.js +0 -7
  449. package/dist/core/services/runtime-catalog.service.js.map +0 -1
  450. package/dist/core/sync/sync.service.d.ts +0 -4
  451. package/dist/core/sync/sync.service.js.map +0 -1
  452. package/dist/core/sync/sync.service.spec.d.ts +0 -1
  453. package/dist/core/sync/sync.service.spec.js +0 -63
  454. package/dist/core/sync/sync.service.spec.js.map +0 -1
  455. package/dist/core/upgrade/satellite-upgrade.service.d.ts +0 -48
  456. package/dist/core/upgrade/satellite-upgrade.service.js +0 -358
  457. package/dist/core/upgrade/satellite-upgrade.service.js.map +0 -1
  458. package/dist/core/upgrade/satellite-upgrade.service.spec.d.ts +0 -1
  459. package/dist/core/upgrade/satellite-upgrade.service.spec.js +0 -223
  460. package/dist/core/upgrade/satellite-upgrade.service.spec.js.map +0 -1
  461. package/dist/core/validators/architecture-drift.service.d.ts +0 -68
  462. package/dist/core/validators/architecture-drift.service.js +0 -266
  463. package/dist/core/validators/architecture-drift.service.js.map +0 -1
  464. package/dist/core/validators/architecture-drift.service.spec.d.ts +0 -1
  465. package/dist/core/validators/architecture-drift.service.spec.js +0 -315
  466. package/dist/core/validators/architecture-drift.service.spec.js.map +0 -1
  467. package/dist/core/validators/deep-architecture-analyzer.d.ts +0 -58
  468. package/dist/core/validators/deep-architecture-analyzer.js +0 -333
  469. package/dist/core/validators/deep-architecture-analyzer.js.map +0 -1
  470. package/dist/core/validators/deep-architecture-analyzer.spec.d.ts +0 -1
  471. package/dist/core/validators/deep-architecture-analyzer.spec.js +0 -186
  472. package/dist/core/validators/deep-architecture-analyzer.spec.js.map +0 -1
  473. package/dist/core/validators/evaluators/evaluator.interface.d.ts +0 -14
  474. package/dist/core/validators/evaluators/evaluator.interface.js +0 -3
  475. package/dist/core/validators/evaluators/evaluator.interface.js.map +0 -1
  476. package/dist/core/validators/evaluators/native-evaluator.d.ts +0 -31
  477. package/dist/core/validators/evaluators/native-evaluator.js +0 -461
  478. package/dist/core/validators/evaluators/native-evaluator.js.map +0 -1
  479. package/dist/core/validators/evaluators/opa-evaluator.d.ts +0 -20
  480. package/dist/core/validators/evaluators/opa-evaluator.js +0 -249
  481. package/dist/core/validators/evaluators/opa-evaluator.js.map +0 -1
  482. package/dist/core/validators/phase-gate-validator.service.d.ts +0 -75
  483. package/dist/core/validators/phase-gate-validator.service.js +0 -338
  484. package/dist/core/validators/phase-gate-validator.service.js.map +0 -1
  485. package/dist/core/validators/phase-gate-validator.service.spec.d.ts +0 -1
  486. package/dist/core/validators/phase-gate-validator.service.spec.js +0 -326
  487. package/dist/core/validators/phase-gate-validator.service.spec.js.map +0 -1
  488. package/dist/core/validators/rule-evaluation-engine.d.ts +0 -34
  489. package/dist/core/validators/rule-evaluation-engine.js +0 -187
  490. package/dist/core/validators/rule-evaluation-engine.js.map +0 -1
  491. package/dist/core/validators/rule-evaluation-engine.spec.d.ts +0 -1
  492. package/dist/core/validators/rule-evaluation-engine.spec.js +0 -243
  493. package/dist/core/validators/rule-evaluation-engine.spec.js.map +0 -1
  494. package/dist/core/validators/ruleset-validator-architecture.spec.d.ts +0 -1
  495. package/dist/core/validators/ruleset-validator-architecture.spec.js +0 -178
  496. package/dist/core/validators/ruleset-validator-architecture.spec.js.map +0 -1
  497. package/dist/core/validators/ruleset-validator.service.d.ts +0 -82
  498. package/dist/core/validators/ruleset-validator.service.js +0 -682
  499. package/dist/core/validators/ruleset-validator.service.js.map +0 -1
  500. package/dist/core/validators/ruleset-validator.service.spec.d.ts +0 -1
  501. package/dist/core/validators/ruleset-validator.service.spec.js +0 -469
  502. package/dist/core/validators/ruleset-validator.service.spec.js.map +0 -1
  503. package/dist/domain/entities/index.d.ts +0 -72
  504. package/dist/domain/entities/index.js +0 -119
  505. package/dist/domain/entities/index.js.map +0 -1
  506. package/dist/domain/gate-evidence.d.ts +0 -59
  507. package/dist/domain/gate-evidence.js +0 -38
  508. package/dist/domain/gate-evidence.js.map +0 -1
  509. package/dist/domain/interfaces.d.ts +0 -224
  510. package/dist/domain/interfaces.js +0 -3
  511. package/dist/domain/interfaces.js.map +0 -1
  512. package/dist/domain/services/adr.service.d.ts +0 -50
  513. package/dist/domain/services/adr.service.js +0 -129
  514. package/dist/domain/services/adr.service.js.map +0 -1
  515. package/dist/domain/services/adr.service.spec.d.ts +0 -1
  516. package/dist/domain/services/adr.service.spec.js +0 -141
  517. package/dist/domain/services/adr.service.spec.js.map +0 -1
  518. package/dist/domain/services/agent-registry.service.js.map +0 -1
  519. package/dist/domain/services/agent-registry.service.spec.d.ts +0 -1
  520. package/dist/domain/services/agent-registry.service.spec.js +0 -162
  521. package/dist/domain/services/agent-registry.service.spec.js.map +0 -1
  522. package/dist/domain/services/index.d.ts +0 -34
  523. package/dist/domain/services/index.js +0 -128
  524. package/dist/domain/services/index.js.map +0 -1
  525. package/dist/domain/services/moscow-prioritization.service.d.ts +0 -44
  526. package/dist/domain/services/moscow-prioritization.service.js +0 -213
  527. package/dist/domain/services/moscow-prioritization.service.js.map +0 -1
  528. package/dist/domain/services/moscow-prioritization.service.spec.d.ts +0 -1
  529. package/dist/domain/services/moscow-prioritization.service.spec.js +0 -285
  530. package/dist/domain/services/moscow-prioritization.service.spec.js.map +0 -1
  531. package/dist/domain/services/services.test.d.ts +0 -1
  532. package/dist/domain/services/services.test.js +0 -236
  533. package/dist/domain/services/services.test.js.map +0 -1
  534. package/dist/domain/services/standards.service.d.ts +0 -47
  535. package/dist/domain/services/standards.service.js +0 -129
  536. package/dist/domain/services/standards.service.js.map +0 -1
  537. package/dist/domain/services/standards.service.spec.d.ts +0 -1
  538. package/dist/domain/services/standards.service.spec.js +0 -600
  539. package/dist/domain/services/standards.service.spec.js.map +0 -1
  540. package/dist/domain/services/tool-usage-telemetry.service.d.ts +0 -46
  541. package/dist/domain/services/tool-usage-telemetry.service.js +0 -181
  542. package/dist/domain/services/tool-usage-telemetry.service.js.map +0 -1
  543. package/dist/domain/services/tool-usage-telemetry.service.spec.d.ts +0 -1
  544. package/dist/domain/services/tool-usage-telemetry.service.spec.js +0 -180
  545. package/dist/domain/services/tool-usage-telemetry.service.spec.js.map +0 -1
  546. package/dist/infrastructure/adapters/webhook.adapter.d.ts +0 -5
  547. package/dist/infrastructure/adapters/webhook.adapter.js +0 -19
  548. package/dist/infrastructure/adapters/webhook.adapter.js.map +0 -1
  549. package/dist/infrastructure/catalog/catalog-loader.test.d.ts +0 -1
  550. package/dist/infrastructure/catalog/catalog-loader.test.js +0 -184
  551. package/dist/infrastructure/catalog/catalog-loader.test.js.map +0 -1
  552. package/dist/infrastructure/cli/command-executor.spec.d.ts +0 -1
  553. package/dist/infrastructure/cli/command-executor.spec.js +0 -149
  554. package/dist/infrastructure/cli/command-executor.spec.js.map +0 -1
  555. package/dist/infrastructure/cli/command-executor.test.d.ts +0 -1
  556. package/dist/infrastructure/cli/command-executor.test.js +0 -98
  557. package/dist/infrastructure/cli/command-executor.test.js.map +0 -1
  558. package/dist/infrastructure/cli/providers/providers.spec.d.ts +0 -1
  559. package/dist/infrastructure/cli/providers/providers.spec.js +0 -251
  560. package/dist/infrastructure/cli/providers/providers.spec.js.map +0 -1
  561. package/dist/infrastructure/formatters/output-formatter.service.spec.d.ts +0 -1
  562. package/dist/infrastructure/formatters/output-formatter.service.spec.js +0 -164
  563. package/dist/infrastructure/formatters/output-formatter.service.spec.js.map +0 -1
  564. package/dist/test/mocks/index.d.ts +0 -44
  565. package/dist/test/mocks/index.js +0 -135
  566. package/dist/test/mocks/index.js.map +0 -1
  567. /package/dist/{core → infrastructure}/observability/command-watcher.d.ts +0 -0
  568. /package/dist/{core → infrastructure}/observability/error-reporter.d.ts +0 -0
  569. /package/dist/{core → infrastructure}/observability/structured-logger.d.ts +0 -0
  570. /package/dist/{core → infrastructure}/observability/structured-logger.js +0 -0
  571. /package/dist/{core → infrastructure}/observability/timing.d.ts +0 -0
  572. /package/dist/{core → infrastructure}/observability/timing.js +0 -0
  573. /package/dist/{core → infrastructure}/observability/tool-usage-telemetry.service.d.ts +0 -0
  574. /package/dist/{core → infrastructure}/observability/tool-usage-telemetry.service.js +0 -0
  575. /package/dist/{core/abstractions → infrastructure}/providers/config-parser.provider.js +0 -0
  576. /package/dist/{core/abstractions → infrastructure}/providers/logger.provider.js +0 -0
@@ -1,176 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("./index");
4
- const mocks_1 = require("../../../test/mocks");
5
- describe('InitializeProjectUseCase', () => {
6
- let useCase;
7
- let mockFs;
8
- beforeEach(() => {
9
- mockFs = new mocks_1.MockFileSystem();
10
- useCase = new index_1.InitializeProjectUseCase(mockFs);
11
- });
12
- describe('execute', () => {
13
- const validInput = {
14
- name: 'test-project',
15
- runtime: 'nodejs',
16
- monorepo: 'none',
17
- architecture: 'clean',
18
- database: 'postgresql',
19
- apiProtocol: 'rest',
20
- ciCd: 'github',
21
- observability: 'otel',
22
- features: [],
23
- agents: [],
24
- };
25
- it('should return success for valid input', async () => {
26
- const result = await useCase.execute(validInput, '/test/cwd');
27
- expect(result.success).toBe(true);
28
- expect(result.artifacts.length).toBeGreaterThan(0);
29
- expect(result.errors).toHaveLength(0);
30
- });
31
- it('should return error for invalid runtime', async () => {
32
- const invalidInput = { ...validInput, runtime: 'invalid-runtime' };
33
- const result = await useCase.execute(invalidInput, '/test/cwd');
34
- expect(result.success).toBe(false);
35
- expect(result.errors).toContain('Runtime invalid-runtime not found');
36
- });
37
- it('should return error for invalid monorepo', async () => {
38
- const invalidInput = { ...validInput, monorepo: 'invalid-monorepo' };
39
- const result = await useCase.execute(invalidInput, '/test/cwd');
40
- expect(result.success).toBe(false);
41
- expect(result.errors).toContain('Monorepo invalid-monorepo not found');
42
- });
43
- it('should return error for invalid architecture', async () => {
44
- const invalidInput = { ...validInput, architecture: 'invalid-arch' };
45
- const result = await useCase.execute(invalidInput, '/test/cwd');
46
- expect(result.success).toBe(false);
47
- expect(result.errors).toContain('Architecture invalid-arch not found');
48
- });
49
- it('should create evolith.yaml artifact', async () => {
50
- await useCase.execute(validInput, '/test/cwd');
51
- const exists = await mockFs.exists('/test/cwd/test-project/evolith.yaml');
52
- expect(exists).toBe(true);
53
- });
54
- it('should create README files (bilingual)', async () => {
55
- await useCase.execute(validInput, '/test/cwd');
56
- const readmeEn = await mockFs.exists('/test/cwd/test-project/README.md');
57
- const readmeEs = await mockFs.exists('/test/cwd/test-project/README.es.md');
58
- expect(readmeEn).toBe(true);
59
- expect(readmeEs).toBe(true);
60
- });
61
- it('should create package.json for nodejs runtime', async () => {
62
- await useCase.execute(validInput, '/test/cwd');
63
- const pkgJson = await mockFs.exists('/test/cwd/test-project/package.json');
64
- expect(pkgJson).toBe(true);
65
- });
66
- it('should create tsconfig.json for typescript runtime', async () => {
67
- const typescriptInput = { ...validInput, runtime: 'typescript' };
68
- await useCase.execute(typescriptInput, '/test/cwd');
69
- const tsconfig = await mockFs.exists('/test/cwd/test-project/tsconfig.json');
70
- expect(tsconfig).toBe(true);
71
- });
72
- it('should create .csproj for dotnet runtime', async () => {
73
- const dotnetInput = { ...validInput, runtime: 'dotnet' };
74
- await useCase.execute(dotnetInput, '/test/cwd');
75
- const csproj = await mockFs.exists('/test/cwd/test-project/test-project.csproj');
76
- expect(csproj).toBe(true);
77
- });
78
- it('should create requirements.txt for python runtime', async () => {
79
- const pythonInput = { ...validInput, runtime: 'python' };
80
- await useCase.execute(pythonInput, '/test/cwd');
81
- const requirements = await mockFs.exists('/test/cwd/test-project/requirements.txt');
82
- expect(requirements).toBe(true);
83
- });
84
- it('should create ADR directory if adr feature enabled', async () => {
85
- const adrInput = { ...validInput, features: ['adr'] };
86
- await useCase.execute(adrInput, '/test/cwd');
87
- const adrDir = await mockFs.exists('/test/cwd/test-project/reference/architecture/adrs');
88
- expect(adrDir).toBe(true);
89
- });
90
- it('should create hooks directory if hooks feature enabled', async () => {
91
- const hooksInput = { ...validInput, features: ['hooks'] };
92
- await useCase.execute(hooksInput, '/test/cwd');
93
- const hooksDir = await mockFs.exists('/test/cwd/test-project/.husky');
94
- expect(hooksDir).toBe(true);
95
- });
96
- it('should create ACL directory if acl feature enabled', async () => {
97
- const aclInput = { ...validInput, features: ['acl'] };
98
- await useCase.execute(aclInput, '/test/cwd');
99
- const aclDir = await mockFs.exists('/test/cwd/test-project/rulesets/acl');
100
- expect(aclDir).toBe(true);
101
- });
102
- it('should track all created artifacts', async () => {
103
- const result = await useCase.execute(validInput, '/test/cwd');
104
- expect(result.artifacts).toContain('test-project/evolith.yaml');
105
- expect(result.artifacts).toContain('test-project/README.md');
106
- expect(result.artifacts).toContain('test-project/README.es.md');
107
- expect(result.artifacts).toContain('test-project/package.json');
108
- });
109
- it('should warn if runtime platform not detected', async () => {
110
- const result = await useCase.execute(validInput, '/test/cwd');
111
- expect(Array.isArray(result.warnings)).toBe(true);
112
- });
113
- });
114
- });
115
- describe('PhaseTransitionUseCase', () => {
116
- let useCase;
117
- let mockFs;
118
- beforeEach(() => {
119
- mockFs = new mocks_1.MockFileSystem();
120
- mockFs.setJsonFile('/test/cwd/evolith.yaml', {
121
- coreRef: { version: '1.0.0' },
122
- governance: { version: '1.0.0' },
123
- product: { name: 'test', phase: 'phase-0' },
124
- });
125
- useCase = new index_1.PhaseTransitionUseCase(mockFs);
126
- });
127
- describe('execute', () => {
128
- it('should successfully transition from phase-0 to phase-1', async () => {
129
- const result = await useCase.execute('phase-0', 'phase-1', [], '/test/cwd');
130
- expect(result.success).toBe(true);
131
- expect(result.from).toBe('phase-0');
132
- expect(result.to).toBe('phase-1');
133
- });
134
- it('should fail for non-consecutive phases', async () => {
135
- const result = await useCase.execute('phase-0', 'phase-2', [], '/test/cwd');
136
- expect(result.success).toBe(false);
137
- expect(result.errors).toContain('Invalid phase transition: phase-0 → phase-2. Must be consecutive phases.');
138
- });
139
- it('should fail for backwards transition', async () => {
140
- const result = await useCase.execute('phase-2', 'phase-1', [], '/test/cwd');
141
- expect(result.success).toBe(false);
142
- expect(result.errors.some(e => e.includes('Invalid phase transition'))).toBe(true);
143
- });
144
- it('should track executed tools', async () => {
145
- const tools = ['acl', 'adr', 'hooks'];
146
- const result = await useCase.execute('phase-1', 'phase-2', tools, '/test/cwd');
147
- expect(result.executedTools).toEqual(tools);
148
- });
149
- it('should return gate results', async () => {
150
- const result = await useCase.execute('phase-0', 'phase-1', [], '/test/cwd');
151
- expect(Array.isArray(result.gateResults)).toBe(true);
152
- });
153
- it('should validate gates when defined', async () => {
154
- mockFs.setJsonFile('/test/cwd/package.json', { name: 'test', version: '1.0.0' });
155
- mockFs.setDirectory('/test/cwd/src');
156
- const result = await useCase.execute('phase-1', 'phase-2', [], '/test/cwd');
157
- expect(Array.isArray(result.gateResults)).toBe(true);
158
- });
159
- it('should allow transition when all required gates pass', async () => {
160
- mockFs.setJsonFile('/test/cwd/rulesets/acl/anti-corruption-layer.rules.json', { version: '1.0.0' });
161
- mockFs.setDirectory('/test/cwd/rulesets');
162
- mockFs.setDirectory('/test/cwd/.harness');
163
- const result = await useCase.execute('phase-2', 'phase-3', [], '/test/cwd');
164
- expect(result.success).toBe(true);
165
- });
166
- it('should return errors array even on success', async () => {
167
- const result = await useCase.execute('phase-0', 'phase-1', [], '/test/cwd');
168
- expect(Array.isArray(result.errors)).toBe(true);
169
- });
170
- it('should return warnings array even on success', async () => {
171
- const result = await useCase.execute('phase-0', 'phase-1', [], '/test/cwd');
172
- expect(Array.isArray(result.warnings)).toBe(true);
173
- });
174
- });
175
- });
176
- //# sourceMappingURL=services.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"services.test.js","sourceRoot":"","sources":["../../../src/application/services/services.test.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { PhaseGateValidatorService } from '../../core/validators/phase-gate-validator.service';
2
- import { EvaluatorKind, GateEvidence, GatePhase } from '../../domain/gate-evidence';
3
- import { WebhookNotifierPort } from '../ports/webhook-notifier.port';
4
- export declare const PHASE_TO_GATE_NUMBER: Record<GatePhase, number>;
5
- export declare const PHASE_GATES_RULESET_REF = "rulesets/sdlc/phase-gates.rules.json";
6
- export interface EvaluateGateInput {
7
- phase: GatePhase;
8
- projectPath: string;
9
- corePath?: string;
10
- evaluatedBy?: EvaluatorKind;
11
- webhookUrl?: string;
12
- }
13
- export declare class EvaluateGateUseCase {
14
- private readonly validatorFactory;
15
- private readonly webhookNotifier?;
16
- constructor(validatorFactory?: (corePath?: string) => PhaseGateValidatorService, webhookNotifier?: WebhookNotifierPort);
17
- execute(input: EvaluateGateInput): Promise<GateEvidence>;
18
- private toViolations;
19
- private slugify;
20
- }
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EvaluateGateUseCase = exports.PHASE_GATES_RULESET_REF = exports.PHASE_TO_GATE_NUMBER = void 0;
4
- const phase_gate_validator_service_1 = require("../../core/validators/phase-gate-validator.service");
5
- const gate_evidence_1 = require("../../domain/gate-evidence");
6
- exports.PHASE_TO_GATE_NUMBER = {
7
- discovery: 1,
8
- design: 2,
9
- construction: 3,
10
- qa: 4,
11
- release: 5,
12
- };
13
- exports.PHASE_GATES_RULESET_REF = 'rulesets/sdlc/phase-gates.rules.json';
14
- class EvaluateGateUseCase {
15
- constructor(validatorFactory = corePath => new phase_gate_validator_service_1.PhaseGateValidatorService(corePath), webhookNotifier) {
16
- this.validatorFactory = validatorFactory;
17
- this.webhookNotifier = webhookNotifier;
18
- }
19
- async execute(input) {
20
- const validator = this.validatorFactory(input.corePath);
21
- const gateNumber = exports.PHASE_TO_GATE_NUMBER[input.phase];
22
- const result = await validator.validateGate(gateNumber, input.projectPath);
23
- const rulesetVersion = await validator.getRulesetVersion();
24
- const violations = this.toViolations(result);
25
- const evidence = {
26
- gateId: this.slugify(result.name),
27
- phase: input.phase,
28
- verdict: (0, gate_evidence_1.deriveVerdict)(violations),
29
- rulesetRef: exports.PHASE_GATES_RULESET_REF,
30
- rulesetVersion,
31
- violations,
32
- evaluatedAt: new Date().toISOString(),
33
- evaluatedBy: input.evaluatedBy ?? 'human',
34
- };
35
- if (input.webhookUrl && this.webhookNotifier) {
36
- await this.webhookNotifier.notify(input.webhookUrl, evidence);
37
- }
38
- return evidence;
39
- }
40
- toViolations(result) {
41
- const violations = [];
42
- for (const evidence of result.evidenceResults) {
43
- if (evidence.passed)
44
- continue;
45
- violations.push({
46
- ruleId: `${result.gateId}-EVIDENCE-${this.slugify(evidence.artifact)}`,
47
- severity: evidence.required ? 'error' : 'warning',
48
- location: evidence.artifact,
49
- message: evidence.validationMessage || `Mandatory evidence '${evidence.artifact}' not satisfied`,
50
- });
51
- }
52
- for (const check of result.blockingChecks) {
53
- if (!check.triggered)
54
- continue;
55
- violations.push({
56
- ruleId: `${result.gateId}-BLOCKING-${this.slugify(check.criterion).slice(0, 48)}`,
57
- severity: 'error',
58
- location: result.name,
59
- message: `Blocking criterion triggered: ${check.criterion} — ${check.action}`,
60
- });
61
- }
62
- return violations;
63
- }
64
- slugify(value) {
65
- return value
66
- .toLowerCase()
67
- .replace(/[^a-z0-9]+/g, '-')
68
- .replace(/^-+|-+$/g, '');
69
- }
70
- }
71
- exports.EvaluateGateUseCase = EvaluateGateUseCase;
72
- //# sourceMappingURL=evaluate-gate.use-case.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluate-gate.use-case.js","sourceRoot":"","sources":["../../../src/application/use-cases/evaluate-gate.use-case.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { RulesetValidatorService, ValidationResult } from '../../core/validators/ruleset-validator.service';
2
- export interface ValidateSatelliteInput {
3
- satellitePath: string;
4
- corePath?: string;
5
- rulesetId?: string;
6
- engine?: 'native' | 'opa';
7
- }
8
- export interface ValidateSatelliteOutput {
9
- result: ValidationResult;
10
- formattedOutput?: string;
11
- }
12
- export declare class ValidateSatelliteUseCase {
13
- private readonly validator;
14
- constructor(validator?: RulesetValidatorService);
15
- execute(input: ValidateSatelliteInput): Promise<ValidateSatelliteOutput>;
16
- executeWithFormat(input: ValidateSatelliteInput, format: 'json' | 'markdown'): Promise<ValidateSatelliteOutput>;
17
- private formatMarkdown;
18
- private findCoreFromSatellite;
19
- }
@@ -1,96 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ValidateSatelliteUseCase = void 0;
4
- const ruleset_validator_service_1 = require("../../core/validators/ruleset-validator.service");
5
- class ValidateSatelliteUseCase {
6
- constructor(validator) {
7
- this.validator = validator || new ruleset_validator_service_1.RulesetValidatorService();
8
- }
9
- async execute(input) {
10
- const { satellitePath, corePath, rulesetId, engine } = input;
11
- let activeValidator = this.validator;
12
- if (engine) {
13
- activeValidator = new ruleset_validator_service_1.RulesetValidatorService({ engineType: engine });
14
- }
15
- let result;
16
- if (rulesetId) {
17
- const coreResolved = corePath || this.findCoreFromSatellite(satellitePath);
18
- const issues = await activeValidator.loadRulesetById(coreResolved, rulesetId);
19
- result = {
20
- status: issues.some(i => i.blocking) ? 'failed' : issues.length > 0 ? 'warning' : 'passed',
21
- rulesChecked: issues.length,
22
- issues,
23
- coreRef: { version: null, path: coreResolved },
24
- timestamp: new Date().toISOString(),
25
- };
26
- }
27
- else {
28
- result = await activeValidator.validate(satellitePath, corePath);
29
- }
30
- return { result };
31
- }
32
- async executeWithFormat(input, format) {
33
- const { result } = await this.execute(input);
34
- let formattedOutput;
35
- if (format === 'markdown') {
36
- formattedOutput = this.formatMarkdown(result);
37
- }
38
- return { result, formattedOutput };
39
- }
40
- formatMarkdown(result) {
41
- const lines = [
42
- '# Validation Report',
43
- '',
44
- `**Status:** ${result.status.toUpperCase()}`,
45
- `**Rules Checked:** ${result.rulesChecked}`,
46
- `**Timestamp:** ${result.timestamp}`,
47
- '',
48
- ];
49
- if (result.coreRef.version) {
50
- lines.push(`**Core Version:** ${result.coreRef.version}`);
51
- }
52
- lines.push('');
53
- const blocking = result.issues.filter(i => i.blocking);
54
- const warnings = result.issues.filter(i => !i.blocking);
55
- if (blocking.length > 0) {
56
- lines.push('## Blocking Issues');
57
- for (const issue of blocking) {
58
- lines.push(`- **${issue.ruleId}** [${issue.severity}] ${issue.title}`);
59
- lines.push(` - ${issue.description}`);
60
- if (issue.file) {
61
- lines.push(` - File: \`${issue.file}\``);
62
- }
63
- }
64
- lines.push('');
65
- }
66
- if (warnings.length > 0) {
67
- lines.push('## Warnings');
68
- for (const issue of warnings) {
69
- lines.push(`- **${issue.ruleId}** [${issue.severity}] ${issue.title}`);
70
- lines.push(` - ${issue.description}`);
71
- }
72
- lines.push('');
73
- }
74
- return lines.join('\n');
75
- }
76
- findCoreFromSatellite(satellitePath) {
77
- const path = require('path');
78
- const parts = satellitePath.split(path.sep);
79
- while (parts.length > 0) {
80
- parts.pop();
81
- const candidate = path.join(parts.join(path.sep), 'rulesets');
82
- try {
83
- const fs = require('fs-extra');
84
- if (fs.pathExistsSync(candidate)) {
85
- return parts.join(path.sep);
86
- }
87
- }
88
- catch {
89
- continue;
90
- }
91
- }
92
- return satellitePath;
93
- }
94
- }
95
- exports.ValidateSatelliteUseCase = ValidateSatelliteUseCase;
96
- //# sourceMappingURL=validate-satellite.use-case.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-satellite.use-case.js","sourceRoot":"","sources":["../../../src/application/use-cases/validate-satellite.use-case.ts"],"names":[],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const validate_satellite_use_case_1 = require("./validate-satellite.use-case");
4
- jest.mock('../../core/validators/ruleset-validator.service');
5
- describe('ValidateSatelliteUseCase', () => {
6
- let mockValidator;
7
- let useCase;
8
- const mockResult = {
9
- status: 'passed',
10
- rulesChecked: 5,
11
- issues: [],
12
- coreRef: { version: '1.0.0', path: '/core' },
13
- timestamp: '2024-01-01T00:00:00.000Z',
14
- };
15
- beforeEach(() => {
16
- mockValidator = {
17
- validate: jest.fn().mockResolvedValue(mockResult),
18
- loadRulesetById: jest.fn().mockResolvedValue([]),
19
- };
20
- useCase = new validate_satellite_use_case_1.ValidateSatelliteUseCase(mockValidator);
21
- });
22
- describe('execute', () => {
23
- it('should validate satellite with default options', async () => {
24
- const { result } = await useCase.execute({
25
- satellitePath: '/satellite',
26
- });
27
- expect(result).toBe(mockResult);
28
- expect(mockValidator.validate).toHaveBeenCalledWith('/satellite', undefined);
29
- });
30
- it('should validate with custom core path', async () => {
31
- const { result } = await useCase.execute({
32
- satellitePath: '/satellite',
33
- corePath: '/custom-core',
34
- });
35
- expect(mockValidator.validate).toHaveBeenCalledWith('/satellite', '/custom-core');
36
- });
37
- it('should load specific ruleset when rulesetId provided', async () => {
38
- const resultWithRuleset = {
39
- ...mockResult,
40
- issues: [{ ruleId: 'TEST', severity: 'MUST', category: 'test', title: 'Test', description: 'Test issue', blocking: true }],
41
- };
42
- mockValidator.loadRulesetById.mockResolvedValue(resultWithRuleset.issues);
43
- const { result } = await useCase.execute({
44
- satellitePath: '/satellite',
45
- rulesetId: 'acl',
46
- });
47
- expect(mockValidator.loadRulesetById).toHaveBeenCalledWith(expect.any(String), 'acl');
48
- expect(result.status).toBe('failed');
49
- });
50
- it('should return warning status when non-blocking issues exist', async () => {
51
- const warningResult = {
52
- ...mockResult,
53
- status: 'warning',
54
- issues: [{ ruleId: 'WARN', severity: 'SHOULD', category: 'test', title: 'Warning', description: 'Warning issue', blocking: false }],
55
- };
56
- mockValidator.validate.mockResolvedValue(warningResult);
57
- const { result } = await useCase.execute({
58
- satellitePath: '/satellite',
59
- });
60
- expect(result.status).toBe('warning');
61
- });
62
- });
63
- describe('executeWithFormat', () => {
64
- it('should return markdown formatted output', async () => {
65
- const { result, formattedOutput } = await useCase.executeWithFormat({ satellitePath: '/satellite' }, 'markdown');
66
- expect(result).toBe(mockResult);
67
- expect(formattedOutput).toContain('# Validation Report');
68
- expect(formattedOutput).toContain('**Status:** PASSED');
69
- expect(formattedOutput).toContain('**Rules Checked:** 5');
70
- });
71
- it('should include blocking issues in markdown', async () => {
72
- const resultWithIssues = {
73
- status: 'failed',
74
- rulesChecked: 3,
75
- issues: [
76
- {
77
- ruleId: 'GOV-01',
78
- severity: 'MUST',
79
- category: 'governance',
80
- title: 'Missing file',
81
- description: 'evolith.yaml is missing',
82
- file: '/satellite/evolith.yaml',
83
- blocking: true,
84
- },
85
- ],
86
- coreRef: { version: null, path: null },
87
- timestamp: '2024-01-01T00:00:00.000Z',
88
- };
89
- mockValidator.validate.mockResolvedValue(resultWithIssues);
90
- const { formattedOutput } = await useCase.executeWithFormat({ satellitePath: '/satellite' }, 'markdown');
91
- expect(formattedOutput).toContain('## Blocking Issues');
92
- expect(formattedOutput).toContain('**GOV-01**');
93
- expect(formattedOutput).toContain('Missing file');
94
- });
95
- it('should return json format without formatted output', async () => {
96
- const { result, formattedOutput } = await useCase.executeWithFormat({ satellitePath: '/satellite' }, 'json');
97
- expect(result).toBe(mockResult);
98
- expect(formattedOutput).toBeUndefined();
99
- });
100
- });
101
- });
102
- //# sourceMappingURL=validate-satellite.use-case.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-satellite.use-case.spec.js","sourceRoot":"","sources":["../../../src/application/use-cases/validate-satellite.use-case.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};