@evolith/smart-cli 1.1.3 → 1.1.5

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 (67) hide show
  1. package/README.es.md +989 -200
  2. package/README.md +98 -20
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/CoreApiClient.d.ts +5 -0
  5. package/dist/CoreApiClient.js +25 -0
  6. package/dist/CoreApiClient.js.map +1 -0
  7. package/dist/app.module.js +12 -4
  8. package/dist/app.module.js.map +1 -1
  9. package/dist/commands/agents/agents.command.d.ts +19 -6
  10. package/dist/commands/agents/agents.command.js +333 -21
  11. package/dist/commands/agents/agents.command.js.map +1 -1
  12. package/dist/commands/architecture/scaffold.command.js +15 -8
  13. package/dist/commands/architecture/scaffold.command.js.map +1 -1
  14. package/dist/commands/chat/chat.command.d.ts +7 -0
  15. package/dist/commands/chat/chat.command.js +64 -0
  16. package/dist/commands/chat/chat.command.js.map +1 -0
  17. package/dist/commands/drift/drift.command.js +12 -3
  18. package/dist/commands/drift/drift.command.js.map +1 -1
  19. package/dist/commands/evaluate/evaluate.command.d.ts +28 -0
  20. package/dist/commands/evaluate/evaluate.command.js +197 -0
  21. package/dist/commands/evaluate/evaluate.command.js.map +1 -0
  22. package/dist/commands/mcp/mcp.command.d.ts +17 -0
  23. package/dist/commands/mcp/mcp.command.js +109 -0
  24. package/dist/commands/mcp/mcp.command.js.map +1 -0
  25. package/dist/commands/plan/index.d.ts +2 -0
  26. package/dist/commands/plan/index.js +133 -0
  27. package/dist/commands/plan/index.js.map +1 -0
  28. package/dist/commands/satellite/index.d.ts +2 -0
  29. package/dist/commands/satellite/index.js +8 -0
  30. package/dist/commands/satellite/index.js.map +1 -0
  31. package/dist/commands/satellite/satellite-adopt.command.d.ts +21 -0
  32. package/dist/commands/satellite/satellite-adopt.command.js +193 -0
  33. package/dist/commands/satellite/satellite-adopt.command.js.map +1 -0
  34. package/dist/commands/satellite/satellite-create.command.d.ts +26 -0
  35. package/dist/commands/satellite/satellite-create.command.js +192 -0
  36. package/dist/commands/satellite/satellite-create.command.js.map +1 -0
  37. package/dist/commands/upgrade/upgrade.command.d.ts +12 -4
  38. package/dist/commands/upgrade/upgrade.command.js +139 -19
  39. package/dist/commands/upgrade/upgrade.command.js.map +1 -1
  40. package/dist/commands/validate/validate.command.js +42 -14
  41. package/dist/commands/validate/validate.command.js.map +1 -1
  42. package/dist/infrastructure/agent/agent-runtime.factory.d.ts +9 -0
  43. package/dist/infrastructure/agent/agent-runtime.factory.js +47 -0
  44. package/dist/infrastructure/agent/agent-runtime.factory.js.map +1 -0
  45. package/dist/infrastructure/architecture/topology-catalog.d.ts +17 -0
  46. package/dist/infrastructure/architecture/topology-catalog.js +69 -0
  47. package/dist/infrastructure/architecture/topology-catalog.js.map +1 -0
  48. package/dist/infrastructure/cli/command-executor.d.ts +1 -0
  49. package/dist/infrastructure/cli/command-executor.js +16 -0
  50. package/dist/infrastructure/cli/command-executor.js.map +1 -1
  51. package/dist/infrastructure/cli/providers/index.js +32 -29
  52. package/dist/infrastructure/cli/providers/index.js.map +1 -1
  53. package/dist/main.js +12 -1
  54. package/dist/main.js.map +1 -1
  55. package/package.json +8 -5
  56. package/dist/commands/init/agents.command.d.ts +0 -24
  57. package/dist/commands/init/agents.command.js +0 -330
  58. package/dist/commands/init/agents.command.js.map +0 -1
  59. package/dist/commands/init/upgrade.command.d.ts +0 -22
  60. package/dist/commands/init/upgrade.command.js +0 -178
  61. package/dist/commands/init/upgrade.command.js.map +0 -1
  62. package/dist/commands/mcp/mcp-serve.command.d.ts +0 -17
  63. package/dist/commands/mcp/mcp-serve.command.js +0 -153
  64. package/dist/commands/mcp/mcp-serve.command.js.map +0 -1
  65. package/dist/commands/upgrade/index.d.ts +0 -1
  66. package/dist/commands/upgrade/index.js +0 -6
  67. package/dist/commands/upgrade/index.js.map +0 -1
@@ -37,18 +37,21 @@ exports.githubActionsProvider = exports.nxProvider = exports.dockerProvider = ex
37
37
  const path = __importStar(require("path"));
38
38
  const fs_1 = require("fs");
39
39
  const command_executor_1 = require("../command-executor");
40
+ function splitFlags(flags) {
41
+ return flags ? flags.trim().split(/\s+/).filter(Boolean) : [];
42
+ }
40
43
  class NpmProvider {
41
44
  async init(cwd) {
42
- return command_executor_1.commandExecutor.execute('npm init -y', cwd);
45
+ return command_executor_1.commandExecutor.executeFile('npm', ['init', '-y'], cwd);
43
46
  }
44
47
  async install(cwd, flags) {
45
- return command_executor_1.commandExecutor.execute(`npm install ${flags || ''}`, cwd);
48
+ return command_executor_1.commandExecutor.executeFile('npm', ['install', ...splitFlags(flags)], cwd);
46
49
  }
47
50
  async installDev(deps, cwd) {
48
- return command_executor_1.commandExecutor.execute(`npm install -D ${deps.join(' ')}`, cwd);
51
+ return command_executor_1.commandExecutor.executeFile('npm', ['install', '-D', ...deps], cwd);
49
52
  }
50
53
  async run(script, cwd) {
51
- return command_executor_1.commandExecutor.execute(`npm run ${script}`, cwd);
54
+ return command_executor_1.commandExecutor.executeFile('npm', ['run', script], cwd);
52
55
  }
53
56
  async exec(cmd, cwd) {
54
57
  return command_executor_1.commandExecutor.execute(cmd, cwd);
@@ -61,23 +64,23 @@ class NpmProvider {
61
64
  exports.NpmProvider = NpmProvider;
62
65
  class DotnetProvider {
63
66
  async new(template, name, cwd) {
64
- return command_executor_1.commandExecutor.execute(`dotnet new ${template} -n ${name} -o .`, cwd);
67
+ return command_executor_1.commandExecutor.executeFile('dotnet', ['new', template, '-n', name, '-o', '.'], cwd);
65
68
  }
66
69
  async build(cwd, config) {
67
- const cmd = config ? `dotnet build -c ${config}` : 'dotnet build';
68
- return command_executor_1.commandExecutor.execute(cmd, cwd);
70
+ const args = config ? ['build', '-c', config] : ['build'];
71
+ return command_executor_1.commandExecutor.executeFile('dotnet', args, cwd);
69
72
  }
70
73
  async test(cwd) {
71
- return command_executor_1.commandExecutor.execute('dotnet test', cwd);
74
+ return command_executor_1.commandExecutor.executeFile('dotnet', ['test'], cwd);
72
75
  }
73
76
  async run(cwd) {
74
- return command_executor_1.commandExecutor.execute('dotnet run', cwd);
77
+ return command_executor_1.commandExecutor.executeFile('dotnet', ['run'], cwd);
75
78
  }
76
79
  async addPackage(packageName, cwd) {
77
- return command_executor_1.commandExecutor.execute(`dotnet add package ${packageName}`, cwd);
80
+ return command_executor_1.commandExecutor.executeFile('dotnet', ['add', 'package', packageName], cwd);
78
81
  }
79
82
  async restore(cwd) {
80
- return command_executor_1.commandExecutor.execute('dotnet restore', cwd);
83
+ return command_executor_1.commandExecutor.executeFile('dotnet', ['restore'], cwd);
81
84
  }
82
85
  async isAvailable() {
83
86
  const check = await command_executor_1.commandExecutor.checkTool('dotnet', 'dotnet --version');
@@ -87,25 +90,25 @@ class DotnetProvider {
87
90
  exports.DotnetProvider = DotnetProvider;
88
91
  class PythonProvider {
89
92
  async install(packages, cwd) {
90
- return command_executor_1.commandExecutor.execute(`pip install ${packages.join(' ')}`, cwd);
93
+ return command_executor_1.commandExecutor.executeFile('pip', ['install', ...packages], cwd);
91
94
  }
92
95
  async installRequirements(cwd) {
93
- return command_executor_1.commandExecutor.execute('pip install -r requirements.txt', cwd);
96
+ return command_executor_1.commandExecutor.executeFile('pip', ['install', '-r', 'requirements.txt'], cwd);
94
97
  }
95
98
  async runModule(module, cwd) {
96
- return command_executor_1.commandExecutor.execute(`python -m ${module}`, cwd);
99
+ return command_executor_1.commandExecutor.executeFile('python', ['-m', module], cwd);
97
100
  }
98
101
  async runPytest(cwd, flags) {
99
- return command_executor_1.commandExecutor.execute(`pytest ${flags || ''}`, cwd);
102
+ return command_executor_1.commandExecutor.executeFile('pytest', splitFlags(flags), cwd);
100
103
  }
101
104
  async formatBlack(cwd) {
102
- return command_executor_1.commandExecutor.execute('black .', cwd);
105
+ return command_executor_1.commandExecutor.executeFile('black', ['.'], cwd);
103
106
  }
104
107
  async lintRuff(cwd) {
105
- return command_executor_1.commandExecutor.execute('ruff check .', cwd);
108
+ return command_executor_1.commandExecutor.executeFile('ruff', ['check', '.'], cwd);
106
109
  }
107
110
  async typeCheckMypy(cwd) {
108
- return command_executor_1.commandExecutor.execute('mypy .', cwd);
111
+ return command_executor_1.commandExecutor.executeFile('mypy', ['.'], cwd);
109
112
  }
110
113
  async isAvailable() {
111
114
  const check = await command_executor_1.commandExecutor.checkTool('python', 'python --version');
@@ -115,17 +118,17 @@ class PythonProvider {
115
118
  exports.PythonProvider = PythonProvider;
116
119
  class DockerProvider {
117
120
  async build(imageName, dockerfile, cwd) {
118
- return command_executor_1.commandExecutor.execute(`docker build -t ${imageName} -f ${dockerfile} .`, cwd);
121
+ return command_executor_1.commandExecutor.executeFile('docker', ['build', '-t', imageName, '-f', dockerfile, '.'], cwd);
119
122
  }
120
123
  async run(containerName, imageName, ports) {
121
- return command_executor_1.commandExecutor.execute(`docker run --name ${containerName} -p ${ports} ${imageName}`);
124
+ return command_executor_1.commandExecutor.executeFile('docker', ['run', '--name', containerName, '-p', ports, imageName]);
122
125
  }
123
126
  async composeUp(cwd, detached = false) {
124
- const cmd = detached ? 'docker-compose up -d' : 'docker-compose up';
125
- return command_executor_1.commandExecutor.execute(cmd, cwd);
127
+ const args = detached ? ['up', '-d'] : ['up'];
128
+ return command_executor_1.commandExecutor.executeFile('docker-compose', args, cwd);
126
129
  }
127
130
  async composeDown(cwd) {
128
- return command_executor_1.commandExecutor.execute('docker-compose down', cwd);
131
+ return command_executor_1.commandExecutor.executeFile('docker-compose', ['down'], cwd);
129
132
  }
130
133
  async isAvailable() {
131
134
  const check = await command_executor_1.commandExecutor.checkTool('docker', 'docker --version');
@@ -139,18 +142,18 @@ class DockerProvider {
139
142
  exports.DockerProvider = DockerProvider;
140
143
  class NxProvider {
141
144
  async generate(appName, template, cwd) {
142
- return command_executor_1.commandExecutor.execute(`npx nx generate ${template} ${appName}`, cwd);
145
+ return command_executor_1.commandExecutor.executeFile('npx', ['nx', 'generate', template, appName], cwd);
143
146
  }
144
147
  async build(cwd, target) {
145
- const cmd = target ? `npx nx build ${target}` : 'npx nx build';
146
- return command_executor_1.commandExecutor.execute(cmd, cwd);
148
+ const args = target ? ['nx', 'build', target] : ['nx', 'build'];
149
+ return command_executor_1.commandExecutor.executeFile('npx', args, cwd);
147
150
  }
148
151
  async serve(cwd, target) {
149
- const cmd = target ? `npx nx serve ${target}` : 'npx nx serve';
150
- return command_executor_1.commandExecutor.execute(cmd, cwd);
152
+ const args = target ? ['nx', 'serve', target] : ['nx', 'serve'];
153
+ return command_executor_1.commandExecutor.executeFile('npx', args, cwd);
151
154
  }
152
155
  async affectedBuild(cwd) {
153
- return command_executor_1.commandExecutor.execute('npx nx affected:build', cwd);
156
+ return command_executor_1.commandExecutor.executeFile('npx', ['nx', 'affected:build'], cwd);
154
157
  }
155
158
  async isAvailable() {
156
159
  const check = await command_executor_1.commandExecutor.checkTool('nx', 'npx nx --version');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infrastructure/cli/providers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infrastructure/cli/providers/index.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -1,10 +1,21 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ const node_fs_1 = require("node:fs");
5
+ const node_path_1 = require("node:path");
4
6
  const otel_tracing_1 = require("./infrastructure/observability/otel-tracing");
5
7
  const nest_commander_1 = require("nest-commander");
6
8
  const app_module_1 = require("./app.module");
7
9
  const alias_service_1 = require("./config/alias.service");
10
+ const CLI_VERSION = (() => {
11
+ try {
12
+ return (JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(__dirname, '..', 'package.json'), 'utf-8')).version ||
13
+ '0.0.0');
14
+ }
15
+ catch {
16
+ return '0.0.0';
17
+ }
18
+ })();
8
19
  (0, otel_tracing_1.initCliOtel)();
9
20
  async function bootstrap() {
10
21
  const aliasService = new alias_service_1.AliasService();
@@ -16,7 +27,7 @@ async function bootstrap() {
16
27
  process.argv = [process.argv[0], process.argv[1], ...args];
17
28
  }
18
29
  }
19
- await nest_commander_1.CommandFactory.run(app_module_1.AppModule, ['warn', 'error']);
30
+ await nest_commander_1.CommandFactory.run(app_module_1.AppModule, { logger: ['warn', 'error'], version: CLI_VERSION });
20
31
  }
21
32
  bootstrap()
22
33
  .catch((err) => {
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;AACA,8EAA2F;AAC3F,mDAAgD;AAChD,6CAAyC;AACzC,0DAAsD;AAEtD,IAAA,0BAAW,GAAE,CAAC;AAEd,KAAK,UAAU,SAAS;IAEtB,MAAM,YAAY,GAAG,IAAI,4BAAY,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YAEnB,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,MAAM,+BAAc,CAAC,GAAG,CAAC,sBAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,EAAE;KACR,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,OAAO,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAe,GAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;AACA,qCAAuC;AACvC,yCAAiC;AACjC,8EAA2F;AAC3F,mDAAgD;AAChD,6CAAyC;AACzC,0DAAsD;AAGtD,MAAM,WAAW,GAAW,CAAC,GAAG,EAAE;IAChC,IAAI,CAAC;QACH,OAAO,CACJ,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAA0B,CAAC,OAAO;YAC1G,OAAO,CACR,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,IAAA,0BAAW,GAAE,CAAC;AAEd,KAAK,UAAU,SAAS;IAEtB,MAAM,YAAY,GAAG,IAAI,4BAAY,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YAEnB,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,MAAM,+BAAc,CAAC,GAAG,CAAC,sBAAS,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,EAAE;KACR,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,OAAO,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAe,GAAE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@evolith/smart-cli",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "Evolith Smart CLI - Governance, standards validation, and AI agent integration for satellite repositories",
5
5
  "main": "dist/main.js",
6
6
  "bin": {
7
- "smart-cli": "./dist/main.js"
7
+ "smart-cli": "dist/main.js"
8
8
  },
9
9
  "directories": {
10
10
  "doc": "docs"
@@ -45,7 +45,7 @@
45
45
  "license": "MIT",
46
46
  "repository": {
47
47
  "type": "git",
48
- "url": "https://github.com/beyondnetcode/evolith_arch32.git",
48
+ "url": "git+https://github.com/beyondnetcode/evolith_arch32.git",
49
49
  "directory": "sdk/cli"
50
50
  },
51
51
  "engines": {
@@ -60,8 +60,11 @@
60
60
  ],
61
61
  "dependencies": {
62
62
  "@clack/prompts": "1.5.1",
63
- "@evolith/core-domain": "1.0.4",
64
- "@evolith/mcp-server": "1.0.0",
63
+ "@evolith/agent-runtime": "^1.0.0",
64
+ "@evolith/core-domain": "^1.0.5",
65
+ "@evolith/infra-providers": "1.0.2",
66
+ "@evolith/mcp-server": "^1.0.1",
67
+ "@evolith/sdk": "^0.1.0",
65
68
  "@hono/node-server": "1.19.14",
66
69
  "@modelcontextprotocol/sdk": "1.29.0",
67
70
  "@nestjs/common": "11.1.27",
@@ -1,24 +0,0 @@
1
- import { PromptService } from '../../infrastructure/prompts/prompt.service';
2
- import { BaseEvolithCommand } from '../../infrastructure/cli/base-command';
3
- interface AgentsCommandOptions {
4
- install?: string;
5
- remove?: string;
6
- list?: boolean;
7
- dryRun?: boolean;
8
- }
9
- export declare class AgentsCommand extends BaseEvolithCommand {
10
- private readonly registry;
11
- constructor(promptService: PromptService);
12
- executeCommand(passedParam: string[], options?: AgentsCommandOptions): Promise<void>;
13
- private showMenu;
14
- private installAgent;
15
- private listAgents;
16
- private validateAgent;
17
- private removeAgent;
18
- private upgradeAgent;
19
- parseInstall(val: string): string;
20
- parseRemove(val: string): string;
21
- parseList(): boolean;
22
- parseDryRun(): boolean;
23
- }
24
- export {};
@@ -1,330 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AgentsCommand = void 0;
16
- const prompt_service_1 = require("../../infrastructure/prompts/prompt.service");
17
- const nest_commander_1 = require("nest-commander");
18
- const chalk_1 = __importDefault(require("chalk"));
19
- const node_filesystem_provider_1 = require("../../infrastructure/providers/node-filesystem.provider");
20
- const agent_registry_service_1 = require("../../infrastructure/adapters/agent-registry.service");
21
- const agent_ruleset_builder_1 = require("@evolith/core-domain/application/agents/agent-ruleset-builder");
22
- const base_command_1 = require("../../infrastructure/cli/base-command");
23
- let cachedFileSystem = null;
24
- function getFileSystem() {
25
- if (!cachedFileSystem) {
26
- cachedFileSystem = new node_filesystem_provider_1.NodeFileSystemProvider().createFileSystem();
27
- }
28
- return cachedFileSystem;
29
- }
30
- const AGENT_TEMPLATES = [
31
- {
32
- value: 'standard',
33
- label: 'Standard Agent',
34
- description: 'Default agent with basic governance rules (ACL-01 through ACL-06)',
35
- },
36
- {
37
- value: 'minimal',
38
- label: 'Minimal Agent',
39
- description: 'Lightweight agent with essential rules only',
40
- },
41
- {
42
- value: 'enterprise',
43
- label: 'Enterprise Agent',
44
- description: 'Full compliance agent with audit trail and approval chains',
45
- },
46
- ];
47
- const AVAILABLE_ADRS = [
48
- { value: 'adr-0002', label: 'ADR-0002: Hexagonal Architecture', selected: true },
49
- { value: 'adr-0018', label: 'ADR-0018: Testing Pyramid', selected: true },
50
- { value: 'adr-0032', label: 'ADR-0032: Protocol Selection', selected: false },
51
- { value: 'adr-0040', label: 'ADR-0040: Multi-Runtime', selected: false },
52
- { value: 'adr-0050', label: 'ADR-0050: GitFlow Branching', selected: true },
53
- ];
54
- const AVAILABLE_RULESETS = [
55
- { value: 'acl', label: 'ACL Rules (Anti-Corruption Layer)', selected: true },
56
- { value: 'open-core', label: 'Open-Core Boundary Rules', selected: true },
57
- { value: 'inheritance', label: 'Inheritance Rules', selected: true },
58
- ];
59
- let AgentsCommand = class AgentsCommand extends base_command_1.BaseEvolithCommand {
60
- constructor(promptService) {
61
- super('AgentsCommand', promptService);
62
- this.registry = new agent_registry_service_1.AgentRegistryService(getFileSystem());
63
- }
64
- async executeCommand(passedParam, options) {
65
- const action = passedParam[0] || 'menu';
66
- console.clear();
67
- switch (action) {
68
- case 'install':
69
- await this.installAgent(options);
70
- break;
71
- case 'remove':
72
- await this.removeAgent(options);
73
- break;
74
- case 'list':
75
- await this.listAgents(options);
76
- break;
77
- case 'validate':
78
- await this.validateAgent(options);
79
- break;
80
- case 'upgrade':
81
- await this.upgradeAgent(options);
82
- break;
83
- case 'menu':
84
- default:
85
- await this.showMenu();
86
- break;
87
- }
88
- }
89
- async showMenu() {
90
- this.promptService.showIntro('Evolith SDK - Agent Management');
91
- const selection = await this.promptService.select({
92
- message: 'Select an action:',
93
- options: [
94
- { value: 'install', label: 'Install New Agent', hint: 'Create a new agent with template and rulesets' },
95
- { value: 'list', label: 'List Installed Agents', hint: 'Show all agents in this repository' },
96
- { value: 'validate', label: 'Validate Agent', hint: 'Check agent ruleset compliance' },
97
- { value: 'upgrade', label: 'Upgrade Agent', hint: 'Update agent to latest version' },
98
- { value: 'remove', label: 'Remove Agent', hint: 'Delete an installed agent' },
99
- { value: 'exit', label: 'Exit', hint: 'Close agent management' },
100
- ],
101
- });
102
- if (selection === 'exit') {
103
- this.promptService.showOutro(chalk_1.default.blue('Agent management closed.'));
104
- return;
105
- }
106
- switch (selection) {
107
- case 'install':
108
- await this.installAgent({});
109
- break;
110
- case 'list':
111
- await this.listAgents({});
112
- break;
113
- case 'validate':
114
- await this.validateAgent({});
115
- break;
116
- case 'upgrade':
117
- await this.upgradeAgent({});
118
- break;
119
- case 'remove':
120
- await this.removeAgent({});
121
- break;
122
- }
123
- }
124
- async installAgent(_options) {
125
- this.promptService.showIntro('Evolith SDK - Agent Installation');
126
- const name = await this.promptService.text({
127
- message: 'Agent name (kebab-case, e.g., my-agent):',
128
- placeholder: 'my-agent',
129
- validate: (value) => {
130
- if (!value)
131
- return 'Agent name is required';
132
- if (value.includes(' '))
133
- return 'Name cannot contain spaces';
134
- if (!/^[a-z0-9-]+$/.test(value))
135
- return 'Use lowercase letters, numbers, and hyphens only';
136
- },
137
- });
138
- const template = await this.promptService.select({
139
- message: 'Select agent template:',
140
- options: AGENT_TEMPLATES,
141
- });
142
- const description = await this.promptService.text({
143
- message: 'Agent description (optional):',
144
- placeholder: 'Agent for handling specific governance tasks',
145
- });
146
- const adrs = await this.promptService.multiselect({
147
- message: 'Select ADR rulesets to include:',
148
- options: AVAILABLE_ADRS,
149
- required: false,
150
- });
151
- const rulesets = await this.promptService.multiselect({
152
- message: 'Select additional rulesets:',
153
- options: AVAILABLE_RULESETS,
154
- required: false,
155
- });
156
- const confirmInstall = await this.promptService.confirm('Ready to install agent?', true);
157
- if (!confirmInstall) {
158
- this.promptService.showOutro(chalk_1.default.yellow('Installation cancelled.'));
159
- return;
160
- }
161
- const rulesetContent = (0, agent_ruleset_builder_1.buildAgentRuleset)({
162
- name,
163
- template,
164
- adrs,
165
- rulesets,
166
- });
167
- const config = {
168
- name,
169
- version: '1.0.0',
170
- template,
171
- description,
172
- adrs,
173
- rulesets,
174
- rulesetFiles: ['agent.rules.json'],
175
- installedAt: new Date().toISOString()
176
- };
177
- await this.registry.installAgent(process.cwd(), config, rulesetContent);
178
- this.promptService.showSuccess(`\n✓ Agent '${name}' installed successfully`);
179
- this.promptService.showInfo(`Next steps:\n 1. Review agent rules\n 2. Validate agent: evolith agents validate`);
180
- this.promptService.showOutro(chalk_1.default.green('Agent installation complete.'));
181
- }
182
- async listAgents(_options) {
183
- this.promptService.showIntro('Evolith SDK - Agent List');
184
- const agents = await this.registry.discover(process.cwd());
185
- if (agents.length === 0) {
186
- this.promptService.showWarning('No agents installed.');
187
- this.promptService.showInfo('Run "evolith agents install" to install your first agent.');
188
- return;
189
- }
190
- this.promptService.showInfo(`Found ${agents.length} installed agent(s):\n`);
191
- for (const agent of agents) {
192
- const _principlesCount = 0;
193
- this.promptService.showInfo(chalk_1.default.cyan(` • ${agent.name}`));
194
- this.promptService.showInfo(chalk_1.default.gray(` Version: ${agent.version} | Template: ${agent.template}`));
195
- }
196
- this.promptService.showOutro(chalk_1.default.green(`\n${agents.length} agent(s) found.`));
197
- }
198
- async validateAgent(_options) {
199
- this.promptService.showIntro('Evolith SDK - Agent Validation');
200
- const agents = await this.registry.discover(process.cwd());
201
- if (agents.length === 0) {
202
- this.promptService.showWarning('No agents installed to validate.');
203
- return;
204
- }
205
- const agentToValidate = await this.promptService.select({
206
- message: 'Select agent to validate:',
207
- options: agents.map(a => ({ value: a.name, label: a.name })),
208
- });
209
- this.promptService.showInfo('\nValidating agent ruleset against engine...\n');
210
- const fs = getFileSystem();
211
- const rulesetPath = `${process.cwd()}/rulesets/agents/${String(agentToValidate)}/agent.rules.json`;
212
- if (!await fs.exists(rulesetPath)) {
213
- this.promptService.showError(`Ruleset file not found: ${rulesetPath}`);
214
- return;
215
- }
216
- const ruleset = await fs.readJson(rulesetPath);
217
- const issues = [];
218
- if (!ruleset.agent?.name)
219
- issues.push({ field: 'agent.name', message: 'Agent name is required' });
220
- if (!ruleset.ruleset?.version)
221
- issues.push({ field: 'ruleset.version', message: 'Ruleset version is required' });
222
- if (!ruleset.principles || ruleset.principles.length === 0)
223
- issues.push({ field: 'principles', message: 'At least one principle is required' });
224
- for (const principle of ruleset.principles || []) {
225
- if (!principle.id)
226
- issues.push({ field: `principle.missing-id`, message: `Principle "${principle.principle}" missing ID` });
227
- if (!principle.severity)
228
- issues.push({ field: `principle.missing-severity`, message: `Principle "${principle.id}" missing severity` });
229
- }
230
- if (issues.length === 0) {
231
- await this.registry.updateLastValidated(process.cwd(), String(agentToValidate));
232
- this.promptService.showSuccess('\n✓ Agent validation passed');
233
- }
234
- else {
235
- this.promptService.showError(`\n✗ Agent validation failed: ${issues.length} issue(s) found`);
236
- for (const issue of issues) {
237
- this.promptService.showError(` - [${issue.field}] ${issue.message}`);
238
- }
239
- }
240
- this.promptService.showOutro(issues.length === 0 ? chalk_1.default.green('Validation complete.') : chalk_1.default.red('Validation complete with errors.'));
241
- }
242
- async removeAgent(_options) {
243
- this.promptService.showIntro('Evolith SDK - Agent Removal');
244
- const agents = await this.registry.discover(process.cwd());
245
- if (agents.length === 0) {
246
- this.promptService.showWarning('No agents installed to remove.');
247
- return;
248
- }
249
- const agentToRemove = await this.promptService.select({
250
- message: 'Select agent to remove:',
251
- options: agents.map(a => ({ value: a.name, label: a.name })),
252
- });
253
- const confirm = await this.promptService.confirm(`Are you sure you want to remove agent '${String(agentToRemove)}'? This cannot be undone.`, false);
254
- if (!confirm) {
255
- this.promptService.showOutro(chalk_1.default.yellow('Removal cancelled.'));
256
- return;
257
- }
258
- await this.registry.unregister(process.cwd(), String(agentToRemove));
259
- this.promptService.showSuccess(`\n✓ Agent '${String(agentToRemove)}' removed successfully`);
260
- this.promptService.showOutro(chalk_1.default.green('Agent removal complete.'));
261
- }
262
- async upgradeAgent(_options) {
263
- this.promptService.showIntro('Evolith SDK - Agent Upgrade');
264
- const agents = await this.registry.discover(process.cwd());
265
- if (agents.length === 0) {
266
- this.promptService.showWarning('No agents installed to upgrade.');
267
- return;
268
- }
269
- const agentName = await this.promptService.select({
270
- message: 'Select agent to upgrade:',
271
- options: agents.map(a => ({ value: a.name, label: a.name })),
272
- });
273
- const agent = await this.registry.getAgent(process.cwd(), String(agentName));
274
- if (!agent)
275
- return;
276
- const fs = getFileSystem();
277
- const rulesetPath = `${process.cwd()}/rulesets/agents/${agent.name}/agent.rules.json`;
278
- if (!await fs.exists(rulesetPath)) {
279
- this.promptService.showError('Agent ruleset not found');
280
- return;
281
- }
282
- const ruleset = await fs.readJson(rulesetPath);
283
- const parts = agent.version.split('.').map(Number);
284
- parts[2]++;
285
- const newVersion = parts.join('.');
286
- agent.version = newVersion;
287
- if (ruleset.agent)
288
- ruleset.agent.version = newVersion;
289
- await this.registry.updateAgent(process.cwd(), agent.name, agent, ruleset);
290
- this.promptService.showSuccess(`\n✓ Agent '${agent.name}' upgraded: ${parts.join('.')} → ${newVersion}`);
291
- this.promptService.showOutro(chalk_1.default.green('Agent upgrade complete.'));
292
- }
293
- parseInstall(val) { return val; }
294
- parseRemove(val) { return val; }
295
- parseList() { return true; }
296
- parseDryRun() { return true; }
297
- };
298
- exports.AgentsCommand = AgentsCommand;
299
- __decorate([
300
- (0, nest_commander_1.Option)({ flags: '-i, --install [name]', description: 'Install a new agent' }),
301
- __metadata("design:type", Function),
302
- __metadata("design:paramtypes", [String]),
303
- __metadata("design:returntype", String)
304
- ], AgentsCommand.prototype, "parseInstall", null);
305
- __decorate([
306
- (0, nest_commander_1.Option)({ flags: '-r, --remove [name]', description: 'Remove an agent' }),
307
- __metadata("design:type", Function),
308
- __metadata("design:paramtypes", [String]),
309
- __metadata("design:returntype", String)
310
- ], AgentsCommand.prototype, "parseRemove", null);
311
- __decorate([
312
- (0, nest_commander_1.Option)({ flags: '-l, --list', description: 'List installed agents' }),
313
- __metadata("design:type", Function),
314
- __metadata("design:paramtypes", []),
315
- __metadata("design:returntype", Boolean)
316
- ], AgentsCommand.prototype, "parseList", null);
317
- __decorate([
318
- (0, nest_commander_1.Option)({ flags: '-d, --dry-run', description: 'Dry run' }),
319
- __metadata("design:type", Function),
320
- __metadata("design:paramtypes", []),
321
- __metadata("design:returntype", Boolean)
322
- ], AgentsCommand.prototype, "parseDryRun", null);
323
- exports.AgentsCommand = AgentsCommand = __decorate([
324
- (0, nest_commander_1.Command)({
325
- name: 'agents',
326
- description: 'Instala, lista, valida o remueve agentes de Evolith en el repositorio satélite',
327
- }),
328
- __metadata("design:paramtypes", [prompt_service_1.PromptService])
329
- ], AgentsCommand);
330
- //# sourceMappingURL=agents.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agents.command.js","sourceRoot":"","sources":["../../../src/commands/init/agents.command.ts"],"names":[],"mappings":"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"}