@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
@@ -38,44 +38,66 @@ var __importStar = (this && this.__importStar) || (function () {
38
38
  return result;
39
39
  };
40
40
  })();
41
- var SyncService_1;
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
42
44
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.SyncService = void 0;
44
- const common_1 = require("@nestjs/common");
45
- const fs = __importStar(require("fs-extra"));
45
+ exports.AliasService = void 0;
46
+ const fs = __importStar(require("fs"));
46
47
  const path = __importStar(require("path"));
47
- let SyncService = SyncService_1 = class SyncService {
48
+ const common_1 = require("@nestjs/common");
49
+ let AliasService = class AliasService {
48
50
  constructor() {
49
- this.logger = new common_1.Logger(SyncService_1.name);
51
+ this.aliases = {};
52
+ const home = process.env.HOME || process.env.USERPROFILE || '';
53
+ const dir = path.join(home, '.evolith');
54
+ if (!fs.existsSync(dir)) {
55
+ fs.mkdirSync(dir, { recursive: true });
56
+ }
57
+ this.aliasFile = path.join(dir, 'aliases.json');
58
+ this.load();
50
59
  }
51
- async syncTemplatesFromUpstream() {
52
- const evolithRoot = path.join(process.cwd(), '..', '..');
53
- const templatesDir = path.join(process.cwd(), 'templates');
54
- this.logger.log(`Sincronizando templates desde ${evolithRoot} hacia ${templatesDir}`);
55
- const filesToSync = [
56
- 'README.md',
57
- 'README.es.md',
58
- 'AGENTS.md',
59
- 'AGENTS.es.md',
60
- 'LICENSE',
61
- '.harness/rules/global-rules.md'
62
- ];
63
- for (const file of filesToSync) {
64
- const source = path.join(evolithRoot, file);
65
- const dest = path.join(templatesDir, path.basename(file));
66
- if (await fs.pathExists(source)) {
67
- await fs.copy(source, dest, { overwrite: true });
68
- this.logger.debug(`Synced: ${file}`);
60
+ load() {
61
+ if (fs.existsSync(this.aliasFile)) {
62
+ try {
63
+ const data = fs.readFileSync(this.aliasFile, 'utf-8');
64
+ this.aliases = JSON.parse(data);
69
65
  }
70
- else {
71
- this.logger.warn(`Source file not found: ${source}`);
66
+ catch {
67
+ this.aliases = {};
72
68
  }
73
69
  }
74
- this.logger.log('Sincronización de templates completada.');
70
+ }
71
+ save() {
72
+ fs.writeFileSync(this.aliasFile, JSON.stringify(this.aliases, null, 2), 'utf-8');
73
+ }
74
+ getAll() {
75
+ return { ...this.aliases };
76
+ }
77
+ add(alias, command) {
78
+ if (this.aliases[alias]) {
79
+ throw new Error(`Alias \"${alias}\" already exists`);
80
+ }
81
+ if (Object.keys(this.aliases).includes(command)) {
82
+ throw new Error(`Cannot alias to an existing command name \"${command}\"`);
83
+ }
84
+ this.aliases[alias] = command;
85
+ this.save();
86
+ }
87
+ remove(alias) {
88
+ if (!this.aliases[alias]) {
89
+ throw new Error(`Alias \"${alias}\" not found`);
90
+ }
91
+ delete this.aliases[alias];
92
+ this.save();
93
+ }
94
+ resolve(aliasOrCommand) {
95
+ return this.aliases[aliasOrCommand] || aliasOrCommand;
75
96
  }
76
97
  };
77
- exports.SyncService = SyncService;
78
- exports.SyncService = SyncService = SyncService_1 = __decorate([
79
- (0, common_1.Injectable)()
80
- ], SyncService);
81
- //# sourceMappingURL=sync.service.js.map
98
+ exports.AliasService = AliasService;
99
+ exports.AliasService = AliasService = __decorate([
100
+ (0, common_1.Injectable)(),
101
+ __metadata("design:paramtypes", [])
102
+ ], AliasService);
103
+ //# sourceMappingURL=alias.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alias.service.js","sourceRoot":"","sources":["../../src/config/alias.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAyB;AACzB,2CAA6B;AAC7B,2CAA4C;AAOrC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAIvB;QAFQ,YAAO,GAAa,EAAE,CAAC;QAG7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACtD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,IAAI;QACV,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,OAAe;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,IAAI,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,cAAc,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAC,cAAsB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;IACxD,CAAC;CACF,CAAA;AAvDY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;;GACA,YAAY,CAuDxB"}
@@ -0,0 +1,16 @@
1
+ export type ContributionType = 'ruleset' | 'topology' | 'adr' | 'template';
2
+ export interface Contribution {
3
+ type: ContributionType;
4
+ path: string;
5
+ author: string;
6
+ description: string;
7
+ }
8
+ export interface ValidationResult {
9
+ valid: boolean;
10
+ errors: string[];
11
+ warnings: string[];
12
+ }
13
+ export declare class ContributionValidator {
14
+ validate(contribution: Contribution): ValidationResult;
15
+ validateBatch(contributions: Contribution[]): Map<string, ValidationResult>;
16
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContributionValidator = void 0;
4
+ class ContributionValidator {
5
+ validate(contribution) {
6
+ const errors = [];
7
+ const warnings = [];
8
+ if (!contribution.path || contribution.path.trim().length === 0) {
9
+ errors.push('Contribution path is required');
10
+ }
11
+ if (!contribution.author || contribution.author.trim().length === 0) {
12
+ errors.push('Contribution author is required');
13
+ }
14
+ if (!contribution.description || contribution.description.trim().length === 0) {
15
+ warnings.push('Contribution description is empty — recommended for review clarity');
16
+ }
17
+ if (contribution.type === 'ruleset' && !contribution.path.endsWith('.rules.json')) {
18
+ errors.push('Ruleset contributions must end with .rules.json');
19
+ }
20
+ if (contribution.type === 'adr' && !contribution.path.includes('/adrs/')) {
21
+ errors.push('ADR contributions must be placed under a /adrs/ directory');
22
+ }
23
+ return { valid: errors.length === 0, errors, warnings };
24
+ }
25
+ validateBatch(contributions) {
26
+ const results = new Map();
27
+ for (const contrib of contributions) {
28
+ results.set(contrib.path, this.validate(contrib));
29
+ }
30
+ return results;
31
+ }
32
+ }
33
+ exports.ContributionValidator = ContributionValidator;
34
+ //# sourceMappingURL=contribution-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contribution-validator.js","sourceRoot":"","sources":["../../src/contributions/contribution-validator.ts"],"names":[],"mappings":";;;AAeA,MAAa,qBAAqB;IAChC,QAAQ,CAAC,YAA0B;QACjC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAClF,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,aAAa,CAAC,aAA6B;QACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAnCD,sDAmCC"}
@@ -0,0 +1 @@
1
+ export { ContributionValidator, Contribution, ContributionType, ValidationResult } from './contribution-validator';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContributionValidator = void 0;
4
+ var contribution_validator_1 = require("./contribution-validator");
5
+ Object.defineProperty(exports, "ContributionValidator", { enumerable: true, get: function () { return contribution_validator_1.ContributionValidator; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contributions/index.ts"],"names":[],"mappings":";;;AAAA,mEAAmH;AAA1G,+HAAA,qBAAqB,OAAA"}
@@ -1,10 +1,13 @@
1
- import { IFileSystem } from '../../core/abstractions/interfaces';
1
+ import { IFileSystem } from '@evolith/core-domain/domain/interfaces';
2
2
  export interface AgentInfo {
3
3
  name: string;
4
4
  version: string;
5
5
  template: string;
6
6
  rulesetFiles: string[];
7
7
  installedAt: string;
8
+ description?: string;
9
+ adrs?: string[];
10
+ rulesets?: string[];
8
11
  lastValidated?: string;
9
12
  }
10
13
  export interface AgentRegistry {
@@ -17,9 +20,10 @@ export declare class AgentRegistryService {
17
20
  private readonly agentsDirName;
18
21
  constructor(fs: IFileSystem);
19
22
  discover(repoPath: string): Promise<AgentInfo[]>;
20
- register(repoPath: string, agent: AgentInfo): Promise<void>;
23
+ installAgent(repoPath: string, agentInfo: AgentInfo, rulesetContent: Record<string, unknown>): Promise<void>;
21
24
  unregister(repoPath: string, agentName: string): Promise<boolean>;
22
25
  getAgent(repoPath: string, agentName: string): Promise<AgentInfo | undefined>;
26
+ updateAgent(repoPath: string, agentName: string, config: AgentInfo, rulesetContent: Record<string, unknown>): Promise<boolean>;
23
27
  updateLastValidated(repoPath: string, agentName: string): Promise<void>;
24
28
  exportManifest(repoPath: string): Promise<string>;
25
29
  private loadOrCreateRegistry;
@@ -38,7 +38,7 @@ const path = __importStar(require("path"));
38
38
  class AgentRegistryService {
39
39
  constructor(fs) {
40
40
  this.registryFileName = 'agents-registry.json';
41
- this.agentsDirName = '.evolith/agents';
41
+ this.agentsDirName = 'rulesets/agents';
42
42
  this.fs = fs;
43
43
  }
44
44
  async discover(repoPath) {
@@ -57,28 +57,31 @@ class AgentRegistryService {
57
57
  const agentPath = path.join(agentsPath, entry);
58
58
  const stat = await this.fs.stat(agentPath);
59
59
  if (stat.isDirectory()) {
60
- const agentJsonPath = path.join(agentPath, 'agent.json');
61
- if (await this.fs.exists(agentJsonPath)) {
62
- const agentData = await this.fs.readJson(agentJsonPath);
60
+ const agentConfigPath = path.join(agentPath, 'agent.config.json');
61
+ if (await this.fs.exists(agentConfigPath)) {
62
+ const agentData = await this.fs.readJson(agentConfigPath);
63
63
  agents.push(agentData);
64
64
  }
65
65
  }
66
66
  }
67
67
  return agents;
68
68
  }
69
- async register(repoPath, agent) {
69
+ async installAgent(repoPath, agentInfo, rulesetContent) {
70
70
  const agentsPath = path.join(repoPath, this.agentsDirName);
71
71
  await this.fs.ensureDir(agentsPath);
72
- const agentPath = path.join(agentsPath, agent.name);
72
+ const agentPath = path.join(agentsPath, agentInfo.name);
73
73
  await this.fs.ensureDir(agentPath);
74
- await this.fs.writeJson(path.join(agentPath, 'agent.json'), agent);
74
+ const configPath = path.join(agentPath, 'agent.config.json');
75
+ const rulesetPath = path.join(agentPath, 'agent.rules.json');
76
+ await this.fs.writeJson(configPath, agentInfo);
77
+ await this.fs.writeJson(rulesetPath, rulesetContent);
75
78
  const registry = await this.loadOrCreateRegistry(agentsPath);
76
- const existingIdx = registry.agents.findIndex(a => a.name === agent.name);
79
+ const existingIdx = registry.agents.findIndex(a => a.name === agentInfo.name);
77
80
  if (existingIdx >= 0) {
78
- registry.agents[existingIdx] = agent;
81
+ registry.agents[existingIdx] = agentInfo;
79
82
  }
80
83
  else {
81
- registry.agents.push(agent);
84
+ registry.agents.push(agentInfo);
82
85
  }
83
86
  registry.lastUpdated = new Date().toISOString();
84
87
  await this.fs.writeJson(path.join(agentsPath, this.registryFileName), registry);
@@ -107,6 +110,26 @@ class AgentRegistryService {
107
110
  const agents = await this.discover(repoPath);
108
111
  return agents.find(a => a.name === agentName);
109
112
  }
113
+ async updateAgent(repoPath, agentName, config, rulesetContent) {
114
+ const agentsPath = path.join(repoPath, this.agentsDirName);
115
+ const agentPath = path.join(agentsPath, agentName);
116
+ if (!(await this.fs.exists(agentPath))) {
117
+ return false;
118
+ }
119
+ await this.fs.writeJson(path.join(agentPath, 'agent.config.json'), config);
120
+ await this.fs.writeJson(path.join(agentPath, 'agent.rules.json'), rulesetContent);
121
+ const registryPath = path.join(agentsPath, this.registryFileName);
122
+ if (await this.fs.exists(registryPath)) {
123
+ const registry = await this.fs.readJson(registryPath);
124
+ const idx = registry.agents.findIndex(a => a.name === agentName);
125
+ if (idx >= 0) {
126
+ registry.agents[idx] = config;
127
+ registry.lastUpdated = new Date().toISOString();
128
+ await this.fs.writeJson(registryPath, registry);
129
+ }
130
+ }
131
+ return true;
132
+ }
110
133
  async updateLastValidated(repoPath, agentName) {
111
134
  const agentsPath = path.join(repoPath, this.agentsDirName);
112
135
  const registryPath = path.join(agentsPath, this.registryFileName);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-registry.service.js","sourceRoot":"","sources":["../../../src/infrastructure/adapters/agent-registry.service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
- import { WorkspaceManagerStrategy } from './workspace-manager.strategy';
1
+ import { WorkspaceManagerStrategy } from '@evolith/core-domain/application/architecture/workspace-manager.strategy';
2
+ import { ICommandExecutor } from '@evolith/core-domain/domain/interfaces';
3
+ import { PromptService } from '../prompts/prompt.service';
2
4
  export declare class NxWorkspaceStrategy implements WorkspaceManagerStrategy {
5
+ private readonly commandExecutor;
6
+ private readonly promptService;
3
7
  private frontendFramework;
4
8
  private dryRun;
9
+ constructor(commandExecutor: ICommandExecutor, promptService: PromptService);
5
10
  setDryRun(dryRun: boolean): void;
6
11
  private getTargetDir;
7
12
  private runNx;
@@ -37,13 +37,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.NxWorkspaceStrategy = void 0;
40
- const child_process_1 = require("child_process");
41
40
  const chalk_1 = __importDefault(require("chalk"));
42
41
  const path = __importStar(require("path"));
43
42
  const process = __importStar(require("process"));
44
43
  const MFE_CAPABLE_FRAMEWORKS = new Set(['react', 'angular']);
45
44
  class NxWorkspaceStrategy {
46
- constructor() {
45
+ constructor(commandExecutor, promptService) {
46
+ this.commandExecutor = commandExecutor;
47
+ this.promptService = promptService;
47
48
  this.frontendFramework = 'react';
48
49
  this.dryRun = false;
49
50
  }
@@ -54,81 +55,69 @@ class NxWorkspaceStrategy {
54
55
  const currentDir = process.cwd();
55
56
  return path.join(currentDir, 'src');
56
57
  }
57
- runNx(command) {
58
+ async runNx(command) {
58
59
  const targetDir = this.getTargetDir();
59
60
  if (this.dryRun) {
60
- console.log(chalk_1.default.yellow(`[DRY-RUN] Would execute in ${targetDir}: npx nx ${command}`));
61
+ this.promptService.showInfo(chalk_1.default.yellow(`[DRY-RUN] Would execute in ${targetDir}: npx nx ${command}`));
61
62
  return;
62
63
  }
63
- console.log(chalk_1.default.gray(`> Executing in ${targetDir}: npx nx ${command}`));
64
- try {
65
- (0, child_process_1.execSync)(`npx nx ${command} --no-interactive`, { cwd: targetDir, stdio: 'inherit' });
66
- }
67
- catch (error) {
68
- console.error(chalk_1.default.red(`\nFailed to execute Nx command: npx nx ${command}`));
69
- throw error;
70
- }
64
+ this.promptService.showInfo(chalk_1.default.gray(`> Executing in ${targetDir}: npx nx ${command}`));
65
+ await this.commandExecutor.executeOrThrow(`npx nx ${command} --no-interactive`, targetDir);
71
66
  }
72
- runNpm(command) {
67
+ async runNpm(command) {
73
68
  const targetDir = this.getTargetDir();
74
69
  if (this.dryRun) {
75
- console.log(chalk_1.default.yellow(`[DRY-RUN] Would execute in ${targetDir}: npm ${command}`));
70
+ this.promptService.showInfo(chalk_1.default.yellow(`[DRY-RUN] Would execute in ${targetDir}: npm ${command}`));
76
71
  return;
77
72
  }
78
- console.log(chalk_1.default.gray(`> Executing in ${targetDir}: npm ${command}`));
79
- try {
80
- (0, child_process_1.execSync)(`npm ${command} --legacy-peer-deps`, { cwd: targetDir, stdio: 'inherit' });
81
- }
82
- catch (error) {
83
- console.error(chalk_1.default.red(`\nFailed to execute npm command: npm ${command}`));
84
- throw error;
85
- }
73
+ this.promptService.showInfo(chalk_1.default.gray(`> Executing in ${targetDir}: npm ${command}`));
74
+ await this.commandExecutor.executeOrThrow(`npm ${command} --legacy-peer-deps`, targetDir);
86
75
  }
87
76
  async installDependencies(frontendFramework, orm) {
88
77
  const fw = frontendFramework.toLowerCase();
89
78
  this.frontendFramework = fw;
90
- console.log(chalk_1.default.cyan(`\n📦 Installing Nx Plugins for ${fw.toUpperCase()} and NestJS...`));
91
- this.runNpm(`install -D @nx/nest @nx/${fw} @nx/webpack`);
79
+ this.promptService.showInfo(chalk_1.default.cyan(`\n📦 Installing Nx Plugins for ${fw.toUpperCase()} and NestJS...`));
80
+ await this.runNpm(`install -D @nx/nest @nx/${fw} @nx/webpack`);
92
81
  if (orm.toLowerCase() === 'prisma') {
93
- this.runNpm(`install -D prisma @prisma/client`);
82
+ await this.runNpm(`install -D prisma @prisma/client`);
94
83
  }
95
84
  else if (orm.toLowerCase() === 'typeorm') {
96
- this.runNpm(`install -D typeorm`);
85
+ await this.runNpm(`install -D typeorm`);
97
86
  }
98
87
  }
99
88
  async generateStandardWebApp(name, framework) {
100
89
  const fw = framework.toLowerCase();
101
90
  this.frontendFramework = fw;
102
- console.log(chalk_1.default.cyan(`\n🏗️ Generating Standard Web App (Phase 1) [${name}] (${fw.toUpperCase()})...`));
103
- this.runNx(`g @nx/${fw}:app --name=${name} --directory=apps/${name}`);
91
+ this.promptService.showInfo(chalk_1.default.cyan(`\n🏗️ Generating Standard Web App (Phase 1) [${name}] (${fw.toUpperCase()})...`));
92
+ await this.runNx(`g @nx/${fw}:app --name=${name} --directory=apps/${name}`);
104
93
  }
105
94
  async generateHostApp(name, remotes, framework) {
106
95
  const fw = framework.toLowerCase();
107
96
  this.frontendFramework = fw;
108
- console.log(chalk_1.default.cyan(`\n🏗️ Generating MFE Host App [${name}] with Remotes [${remotes.join(', ')}] (${fw.toUpperCase()})...`));
97
+ this.promptService.showInfo(chalk_1.default.cyan(`\n🏗️ Generating MFE Host App [${name}] with Remotes [${remotes.join(', ')}] (${fw.toUpperCase()})...`));
109
98
  if (!MFE_CAPABLE_FRAMEWORKS.has(fw)) {
110
- console.log(chalk_1.default.yellow(`⚠ @nx/${fw} does not provide a native Module Federation :host generator.\n` +
99
+ this.promptService.showInfo(chalk_1.default.yellow(`⚠ @nx/${fw} does not provide a native Module Federation :host generator.\n` +
111
100
  ` Generating a standard ${fw.toUpperCase()} app instead. Configure MFE manually\n` +
112
101
  ` (e.g. @originjs/vite-plugin-federation for Vue).`));
113
- this.runNx(`g @nx/${fw}:app --name=${name} --directory=apps/${name}`);
102
+ await this.runNx(`g @nx/${fw}:app --name=${name} --directory=apps/${name}`);
114
103
  return;
115
104
  }
116
105
  const remotesFlag = remotes.length > 0 ? `--remotes=${remotes.join(',')}` : '';
117
- this.runNx(`g @nx/${fw}:host --name=${name} ${remotesFlag} --directory=apps/${name}`);
106
+ await this.runNx(`g @nx/${fw}:host --name=${name} ${remotesFlag} --directory=apps/${name}`);
118
107
  }
119
108
  async generateApiApp(name) {
120
- console.log(chalk_1.default.cyan(`\n⚙️ Generating NestJS API App [${name}]...`));
121
- this.runNx(`g @nx/nest:app --name=${name} --directory=apps/${name}`);
109
+ this.promptService.showInfo(chalk_1.default.cyan(`\n⚙️ Generating NestJS API App [${name}]...`));
110
+ await this.runNx(`g @nx/nest:app --name=${name} --directory=apps/${name}`);
122
111
  }
123
112
  async generateLibrary(name, type) {
124
- console.log(chalk_1.default.cyan(`\n📚 Generating Library [${type}/${name}]...`));
113
+ this.promptService.showInfo(chalk_1.default.cyan(`\n📚 Generating Library [${type}/${name}]...`));
125
114
  if (type === 'shared' && name.includes('ui')) {
126
115
  const fw = this.frontendFramework;
127
- console.log(chalk_1.default.gray(` Using @nx/${fw}:library for shared UI library.`));
128
- this.runNx(`g @nx/${fw}:library --name=${name} --directory=libs/${type}/${name}`);
116
+ this.promptService.showInfo(chalk_1.default.gray(` Using @nx/${fw}:library for shared UI library.`));
117
+ await this.runNx(`g @nx/${fw}:library --name=${name} --directory=libs/${type}/${name}`);
129
118
  }
130
119
  else {
131
- this.runNx(`g @nx/nest:library --name=${name} --directory=libs/${type}/${name}`);
120
+ await this.runNx(`g @nx/nest:library --name=${name} --directory=libs/${type}/${name}`);
132
121
  }
133
122
  }
134
123
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nx-workspace.strategy.js","sourceRoot":"","sources":["../../../src/infrastructure/architecture/nx-workspace.strategy.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ICatalogLoader, Runtime, MonorepoOption, ArchitecturePattern, ToolCatalog, CommandsMatrix } from '../../domain/interfaces';
1
+ import { ICatalogLoader, Runtime, MonorepoOption, ArchitecturePattern, ToolCatalog, CommandsMatrix } from '@evolith/core-domain/domain/interfaces';
2
2
  export declare class CatalogLoader implements ICatalogLoader {
3
3
  private runtimeCatalog;
4
4
  private toolCatalog;
@@ -19,4 +19,3 @@ export declare class CatalogLoader implements ICatalogLoader {
19
19
  private transformToCommandsMatrix;
20
20
  reload(): void;
21
21
  }
22
- export declare const catalogLoader: CatalogLoader;
@@ -15,6 +15,12 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
18
24
  var __importStar = (this && this.__importStar) || (function () {
19
25
  var ownKeys = function(o) {
20
26
  ownKeys = Object.getOwnPropertyNames || function (o) {
@@ -33,11 +39,12 @@ var __importStar = (this && this.__importStar) || (function () {
33
39
  };
34
40
  })();
35
41
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.catalogLoader = exports.CatalogLoader = void 0;
42
+ exports.CatalogLoader = void 0;
37
43
  const fs = __importStar(require("fs"));
38
44
  const path = __importStar(require("path"));
39
- const errors_1 = require("../../core/errors");
40
- class CatalogLoader {
45
+ const common_1 = require("@nestjs/common");
46
+ const errors_1 = require("@evolith/core-domain/domain/errors");
47
+ let CatalogLoader = class CatalogLoader {
41
48
  constructor() {
42
49
  this.runtimeCatalog = null;
43
50
  this.toolCatalog = null;
@@ -129,7 +136,9 @@ class CatalogLoader {
129
136
  this.toolCatalog = null;
130
137
  this.commandsMatrix = null;
131
138
  }
132
- }
139
+ };
133
140
  exports.CatalogLoader = CatalogLoader;
134
- exports.catalogLoader = new CatalogLoader();
141
+ exports.CatalogLoader = CatalogLoader = __decorate([
142
+ (0, common_1.Injectable)()
143
+ ], CatalogLoader);
135
144
  //# sourceMappingURL=catalog-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-loader.js","sourceRoot":"","sources":["../../../src/infrastructure/catalog/catalog-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-loader.js","sourceRoot":"","sources":["../../../src/infrastructure/catalog/catalog-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { CommandRunner } from 'nest-commander';
2
+ import { Logger } from '@nestjs/common';
3
+ import { PromptService } from '../prompts/prompt.service';
4
+ import { ConfigService, ProfileConfig } from '../config/config.service';
5
+ export declare abstract class BaseEvolithCommand extends CommandRunner {
6
+ protected readonly logger: Logger;
7
+ protected readonly promptService: PromptService;
8
+ protected readonly configService: ConfigService;
9
+ constructor(commandName: string, promptService?: PromptService, configService?: ConfigService);
10
+ get profile(): ProfileConfig;
11
+ run(inputs: string[], options?: Record<string, unknown>): Promise<void>;
12
+ abstract executeCommand(inputs: string[], options?: Record<string, unknown>): Promise<void>;
13
+ protected handleError(error: unknown): never;
14
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseEvolithCommand = void 0;
4
+ const nest_commander_1 = require("nest-commander");
5
+ const common_1 = require("@nestjs/common");
6
+ const prompt_service_1 = require("../prompts/prompt.service");
7
+ const config_service_1 = require("../config/config.service");
8
+ const errors_1 = require("@evolith/core-domain/domain/errors");
9
+ class BaseEvolithCommand extends nest_commander_1.CommandRunner {
10
+ constructor(commandName, promptService, configService) {
11
+ super();
12
+ this.logger = new common_1.Logger(commandName);
13
+ this.promptService = promptService || new prompt_service_1.PromptService();
14
+ this.configService = configService || new config_service_1.ConfigService();
15
+ }
16
+ get profile() {
17
+ return this.configService.getProfile();
18
+ }
19
+ async run(inputs, options) {
20
+ try {
21
+ await this.executeCommand(inputs, options);
22
+ }
23
+ catch (error) {
24
+ if (error instanceof errors_1.UserCancelledError) {
25
+ this.logger.debug('Operation cancelled by user.');
26
+ return;
27
+ }
28
+ this.handleError(error);
29
+ }
30
+ }
31
+ handleError(error) {
32
+ const message = error instanceof Error ? error.message : String(error);
33
+ this.logger.error(`Command execution failed: ${message}`, error instanceof Error ? error.stack : undefined);
34
+ this.promptService.stopSpinner('Command failed.');
35
+ this.promptService.showError(`Error: ${message}`);
36
+ this.promptService.showOutro('Failed');
37
+ throw error instanceof Error ? error : new Error(message);
38
+ }
39
+ }
40
+ exports.BaseEvolithCommand = BaseEvolithCommand;
41
+ //# sourceMappingURL=base-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../../src/infrastructure/cli/base-command.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,2CAAwC;AACxC,8DAA0D;AAC1D,6DAAwE;AACxE,+DAAwE;AAExE,MAAsB,kBAAmB,SAAQ,8BAAa;IAK5D,YACE,WAAmB,EACnB,aAA6B,EAC7B,aAA6B;QAE7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,8BAAa,EAAE,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,8BAAa,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAgB,EAAE,OAAiC;QAC3D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,2BAAkB,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAIS,WAAW,CAAC,KAAc;QAClC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,EAAE,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE5G,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;CACF;AA5CD,gDA4CC"}
@@ -1,4 +1,4 @@
1
- import { ICommandExecutor, PlatformCheck } from '../../domain/interfaces';
1
+ import { ICommandExecutor, PlatformCheck } from '@evolith/core-domain/domain/interfaces';
2
2
  export declare class CommandResult {
3
3
  readonly success: boolean;
4
4
  readonly stdout: string;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.commandExecutor = exports.CommandExecutor = exports.CommandResult = void 0;
4
4
  const child_process_1 = require("child_process");
5
5
  const util_1 = require("util");
6
- const errors_1 = require("../../core/errors");
6
+ const errors_1 = require("@evolith/core-domain/domain/errors");
7
7
  const execAsync = (0, util_1.promisify)(child_process_1.exec);
8
8
  class CommandResult {
9
9
  constructor(success, stdout, stderr, exitCode) {
@@ -30,7 +30,7 @@ class CommandExecutor {
30
30
  const options = cwd
31
31
  ? { cwd, env: { ...process.env }, timeout: 120000 }
32
32
  : { env: { ...process.env }, timeout: 120000 };
33
- const { stdout, stderr } = await execAsync(command, options);
33
+ const { stdout, stderr: _stderr } = await execAsync(command, options);
34
34
  return CommandResult.ok(stdout);
35
35
  }
36
36
  catch (error) {
@@ -60,6 +60,7 @@ class CommandExecutor {
60
60
  }
61
61
  }
62
62
  catch {
63
+ console.warn(`Tool check failed for "${name}", marking as unavailable`);
63
64
  }
64
65
  this.toolCache.set(name, false);
65
66
  return {
@@ -89,7 +90,7 @@ class CommandExecutor {
89
90
  'docker-compose': 'Install from https://docs.docker.com/compose/install/',
90
91
  kubectl: 'Install from https://kubernetes.io/docs/tasks/tools/install-kubectl/',
91
92
  helm: 'Install from https://helm.sh/docs/intro/install/',
92
- vault: 'Install from https://www.vaultproject.io/downloads',
93
+ openbao: 'Install from https://openbao.org/downloads',
93
94
  rush: 'npm install -g @microsoft/rush',
94
95
  aws: 'Install AWS CLI from https://aws.amazon.com/cli/',
95
96
  terraform: 'Install from https://www.terraform.io/downloads',