@nxuss/lemma 1.1.1 → 1.2.0

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 (142) hide show
  1. package/README.md +148 -9
  2. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  3. package/dist/cjs/cli/lemma-proxy.js +2 -0
  4. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  5. package/dist/cjs/infra/analyzers/DriftDetector.d.ts +4 -0
  6. package/dist/cjs/infra/analyzers/DriftDetector.d.ts.map +1 -0
  7. package/dist/cjs/infra/analyzers/DriftDetector.js +88 -0
  8. package/dist/cjs/infra/analyzers/DriftDetector.js.map +1 -0
  9. package/dist/cjs/infra/analyzers/InfraAnalyzer.d.ts +3 -0
  10. package/dist/cjs/infra/analyzers/InfraAnalyzer.d.ts.map +1 -0
  11. package/dist/cjs/infra/analyzers/InfraAnalyzer.js +73 -0
  12. package/dist/cjs/infra/analyzers/InfraAnalyzer.js.map +1 -0
  13. package/dist/cjs/infra/analyzers/MonolithAnalyzer.d.ts +3 -0
  14. package/dist/cjs/infra/analyzers/MonolithAnalyzer.d.ts.map +1 -0
  15. package/dist/cjs/infra/analyzers/MonolithAnalyzer.js +180 -0
  16. package/dist/cjs/infra/analyzers/MonolithAnalyzer.js.map +1 -0
  17. package/dist/cjs/infra/analyzers/index.d.ts +4 -0
  18. package/dist/cjs/infra/analyzers/index.d.ts.map +1 -0
  19. package/dist/cjs/infra/analyzers/index.js +11 -0
  20. package/dist/cjs/infra/analyzers/index.js.map +1 -0
  21. package/dist/cjs/infra/cli.d.ts +2 -0
  22. package/dist/cjs/infra/cli.d.ts.map +1 -0
  23. package/dist/cjs/infra/cli.js +221 -0
  24. package/dist/cjs/infra/cli.js.map +1 -0
  25. package/dist/cjs/infra/config.d.ts +17 -0
  26. package/dist/cjs/infra/config.d.ts.map +1 -0
  27. package/dist/cjs/infra/config.js +111 -0
  28. package/dist/cjs/infra/config.js.map +1 -0
  29. package/dist/cjs/infra/index.d.ts +8 -0
  30. package/dist/cjs/infra/index.d.ts.map +1 -0
  31. package/dist/cjs/infra/index.js +28 -0
  32. package/dist/cjs/infra/index.js.map +1 -0
  33. package/dist/cjs/infra/mcp-tools.d.ts +16 -0
  34. package/dist/cjs/infra/mcp-tools.d.ts.map +1 -0
  35. package/dist/cjs/infra/mcp-tools.js +456 -0
  36. package/dist/cjs/infra/mcp-tools.js.map +1 -0
  37. package/dist/cjs/infra/providers/InfraProvider.d.ts +9 -0
  38. package/dist/cjs/infra/providers/InfraProvider.d.ts.map +1 -0
  39. package/dist/cjs/infra/providers/InfraProvider.js +3 -0
  40. package/dist/cjs/infra/providers/InfraProvider.js.map +1 -0
  41. package/dist/cjs/infra/providers/JenkinsProvider.d.ts +16 -0
  42. package/dist/cjs/infra/providers/JenkinsProvider.d.ts.map +1 -0
  43. package/dist/cjs/infra/providers/JenkinsProvider.js +188 -0
  44. package/dist/cjs/infra/providers/JenkinsProvider.js.map +1 -0
  45. package/dist/cjs/infra/providers/OKDProvider.d.ts +24 -0
  46. package/dist/cjs/infra/providers/OKDProvider.d.ts.map +1 -0
  47. package/dist/cjs/infra/providers/OKDProvider.js +292 -0
  48. package/dist/cjs/infra/providers/OKDProvider.js.map +1 -0
  49. package/dist/cjs/infra/providers/TerraformProvider.d.ts +17 -0
  50. package/dist/cjs/infra/providers/TerraformProvider.d.ts.map +1 -0
  51. package/dist/cjs/infra/providers/TerraformProvider.js +109 -0
  52. package/dist/cjs/infra/providers/TerraformProvider.js.map +1 -0
  53. package/dist/cjs/infra/providers/index.d.ts +9 -0
  54. package/dist/cjs/infra/providers/index.d.ts.map +1 -0
  55. package/dist/cjs/infra/providers/index.js +34 -0
  56. package/dist/cjs/infra/providers/index.js.map +1 -0
  57. package/dist/cjs/infra/templates/jenkins/index.d.ts +15 -0
  58. package/dist/cjs/infra/templates/jenkins/index.d.ts.map +1 -0
  59. package/dist/cjs/infra/templates/jenkins/index.js +124 -0
  60. package/dist/cjs/infra/templates/jenkins/index.js.map +1 -0
  61. package/dist/cjs/infra/templates/okd/index.d.ts +31 -0
  62. package/dist/cjs/infra/templates/okd/index.d.ts.map +1 -0
  63. package/dist/cjs/infra/templates/okd/index.js +149 -0
  64. package/dist/cjs/infra/templates/okd/index.js.map +1 -0
  65. package/dist/cjs/infra/types.d.ts +128 -0
  66. package/dist/cjs/infra/types.d.ts.map +1 -0
  67. package/dist/cjs/infra/types.js +4 -0
  68. package/dist/cjs/infra/types.js.map +1 -0
  69. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  70. package/dist/cjs/mcp/tools.js +9 -1
  71. package/dist/cjs/mcp/tools.js.map +1 -1
  72. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  73. package/dist/esm/cli/lemma-proxy.js +2 -0
  74. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  75. package/dist/esm/infra/analyzers/DriftDetector.d.ts +4 -0
  76. package/dist/esm/infra/analyzers/DriftDetector.d.ts.map +1 -0
  77. package/dist/esm/infra/analyzers/DriftDetector.js +84 -0
  78. package/dist/esm/infra/analyzers/DriftDetector.js.map +1 -0
  79. package/dist/esm/infra/analyzers/InfraAnalyzer.d.ts +3 -0
  80. package/dist/esm/infra/analyzers/InfraAnalyzer.d.ts.map +1 -0
  81. package/dist/esm/infra/analyzers/InfraAnalyzer.js +70 -0
  82. package/dist/esm/infra/analyzers/InfraAnalyzer.js.map +1 -0
  83. package/dist/esm/infra/analyzers/MonolithAnalyzer.d.ts +3 -0
  84. package/dist/esm/infra/analyzers/MonolithAnalyzer.d.ts.map +1 -0
  85. package/dist/esm/infra/analyzers/MonolithAnalyzer.js +174 -0
  86. package/dist/esm/infra/analyzers/MonolithAnalyzer.js.map +1 -0
  87. package/dist/esm/infra/analyzers/index.d.ts +4 -0
  88. package/dist/esm/infra/analyzers/index.d.ts.map +1 -0
  89. package/dist/esm/infra/analyzers/index.js +4 -0
  90. package/dist/esm/infra/analyzers/index.js.map +1 -0
  91. package/dist/esm/infra/cli.d.ts +2 -0
  92. package/dist/esm/infra/cli.d.ts.map +1 -0
  93. package/dist/esm/infra/cli.js +218 -0
  94. package/dist/esm/infra/cli.js.map +1 -0
  95. package/dist/esm/infra/config.d.ts +17 -0
  96. package/dist/esm/infra/config.d.ts.map +1 -0
  97. package/dist/esm/infra/config.js +101 -0
  98. package/dist/esm/infra/config.js.map +1 -0
  99. package/dist/esm/infra/index.d.ts +8 -0
  100. package/dist/esm/infra/index.d.ts.map +1 -0
  101. package/dist/esm/infra/index.js +9 -0
  102. package/dist/esm/infra/index.js.map +1 -0
  103. package/dist/esm/infra/mcp-tools.d.ts +16 -0
  104. package/dist/esm/infra/mcp-tools.d.ts.map +1 -0
  105. package/dist/esm/infra/mcp-tools.js +451 -0
  106. package/dist/esm/infra/mcp-tools.js.map +1 -0
  107. package/dist/esm/infra/providers/InfraProvider.d.ts +9 -0
  108. package/dist/esm/infra/providers/InfraProvider.d.ts.map +1 -0
  109. package/dist/esm/infra/providers/InfraProvider.js +2 -0
  110. package/dist/esm/infra/providers/InfraProvider.js.map +1 -0
  111. package/dist/esm/infra/providers/JenkinsProvider.d.ts +16 -0
  112. package/dist/esm/infra/providers/JenkinsProvider.d.ts.map +1 -0
  113. package/dist/esm/infra/providers/JenkinsProvider.js +181 -0
  114. package/dist/esm/infra/providers/JenkinsProvider.js.map +1 -0
  115. package/dist/esm/infra/providers/OKDProvider.d.ts +24 -0
  116. package/dist/esm/infra/providers/OKDProvider.d.ts.map +1 -0
  117. package/dist/esm/infra/providers/OKDProvider.js +288 -0
  118. package/dist/esm/infra/providers/OKDProvider.js.map +1 -0
  119. package/dist/esm/infra/providers/TerraformProvider.d.ts +17 -0
  120. package/dist/esm/infra/providers/TerraformProvider.d.ts.map +1 -0
  121. package/dist/esm/infra/providers/TerraformProvider.js +105 -0
  122. package/dist/esm/infra/providers/TerraformProvider.js.map +1 -0
  123. package/dist/esm/infra/providers/index.d.ts +9 -0
  124. package/dist/esm/infra/providers/index.d.ts.map +1 -0
  125. package/dist/esm/infra/providers/index.js +27 -0
  126. package/dist/esm/infra/providers/index.js.map +1 -0
  127. package/dist/esm/infra/templates/jenkins/index.d.ts +15 -0
  128. package/dist/esm/infra/templates/jenkins/index.d.ts.map +1 -0
  129. package/dist/esm/infra/templates/jenkins/index.js +120 -0
  130. package/dist/esm/infra/templates/jenkins/index.js.map +1 -0
  131. package/dist/esm/infra/templates/okd/index.d.ts +31 -0
  132. package/dist/esm/infra/templates/okd/index.d.ts.map +1 -0
  133. package/dist/esm/infra/templates/okd/index.js +142 -0
  134. package/dist/esm/infra/templates/okd/index.js.map +1 -0
  135. package/dist/esm/infra/types.d.ts +128 -0
  136. package/dist/esm/infra/types.d.ts.map +1 -0
  137. package/dist/esm/infra/types.js +3 -0
  138. package/dist/esm/infra/types.js.map +1 -0
  139. package/dist/esm/mcp/tools.d.ts.map +1 -1
  140. package/dist/esm/mcp/tools.js +9 -1
  141. package/dist/esm/mcp/tools.js.map +1 -1
  142. package/package.json +3 -2
@@ -0,0 +1,9 @@
1
+ import { JenkinsProvider } from './JenkinsProvider';
2
+ import { OKDProvider } from './OKDProvider';
3
+ import { TerraformProvider } from './TerraformProvider';
4
+ import type { InfraProvider } from './InfraProvider';
5
+ export declare function getProvider(name: string): InfraProvider;
6
+ export declare function listProviders(): string[];
7
+ export { JenkinsProvider, OKDProvider, TerraformProvider };
8
+ export type { InfraProvider } from './InfraProvider';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infra/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAiBvD;AAED,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerraformProvider = exports.OKDProvider = exports.JenkinsProvider = void 0;
4
+ exports.getProvider = getProvider;
5
+ exports.listProviders = listProviders;
6
+ const JenkinsProvider_1 = require("./JenkinsProvider");
7
+ Object.defineProperty(exports, "JenkinsProvider", { enumerable: true, get: function () { return JenkinsProvider_1.JenkinsProvider; } });
8
+ const OKDProvider_1 = require("./OKDProvider");
9
+ Object.defineProperty(exports, "OKDProvider", { enumerable: true, get: function () { return OKDProvider_1.OKDProvider; } });
10
+ const TerraformProvider_1 = require("./TerraformProvider");
11
+ Object.defineProperty(exports, "TerraformProvider", { enumerable: true, get: function () { return TerraformProvider_1.TerraformProvider; } });
12
+ const providers = {};
13
+ function getProvider(name) {
14
+ if (!providers[name]) {
15
+ switch (name) {
16
+ case 'jenkins':
17
+ providers[name] = new JenkinsProvider_1.JenkinsProvider();
18
+ break;
19
+ case 'okd':
20
+ providers[name] = new OKDProvider_1.OKDProvider();
21
+ break;
22
+ case 'terraform':
23
+ providers[name] = new TerraformProvider_1.TerraformProvider();
24
+ break;
25
+ default:
26
+ throw new Error(`Unknown provider: ${name}. Available: jenkins, okd, terraform`);
27
+ }
28
+ }
29
+ return providers[name];
30
+ }
31
+ function listProviders() {
32
+ return ['jenkins', 'okd', 'terraform'];
33
+ }
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infra/providers/index.ts"],"names":[],"mappings":";;;AAOA,kCAiBC;AAED,sCAEC;AA5BD,uDAAoD;AA8B3C,gGA9BA,iCAAe,OA8BA;AA7BxB,+CAA4C;AA6BlB,4FA7BjB,yBAAW,OA6BiB;AA5BrC,2DAAwD;AA4BjB,kGA5B9B,qCAAiB,OA4B8B;AAzBxD,MAAM,SAAS,GAAkC,EAAE,CAAC;AAEpD,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS;gBACZ,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,iCAAe,EAAE,CAAC;gBACxC,MAAM;YACR,KAAK,KAAK;gBACR,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,yBAAW,EAAE,CAAC;gBACpC,MAAM;YACR,KAAK,WAAW;gBACd,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,qCAAiB,EAAE,CAAC;gBAC1C,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,sCAAsC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare function jenkinsfileTemplate(cfg: {
2
+ name: string;
3
+ dockerImage?: string;
4
+ registry?: string;
5
+ namespace?: string;
6
+ buildArgs?: Record<string, string>;
7
+ envVars?: Record<string, string>;
8
+ triggers?: string[];
9
+ }): string;
10
+ export declare function multibranchTemplate(cfg: {
11
+ name: string;
12
+ repoUrl: string;
13
+ branchPattern?: string;
14
+ }): string;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/infra/templates/jenkins/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,MAAM,CAyET;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CA6CT"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jenkinsfileTemplate = jenkinsfileTemplate;
4
+ exports.multibranchTemplate = multibranchTemplate;
5
+ function jenkinsfileTemplate(cfg) {
6
+ const buildArgsYaml = cfg.buildArgs
7
+ ? Object.entries(cfg.buildArgs).map(([k, v]) => ` ${k} = '${v}'`).join('\n')
8
+ : '';
9
+ const envYaml = cfg.envVars
10
+ ? Object.entries(cfg.envVars).map(([k, v]) => ` ${k} = '${v}'`).join('\n')
11
+ : '';
12
+ const triggersYaml = cfg.triggers?.length
13
+ ? cfg.triggers.map((t) => ` ${t}`).join('\n')
14
+ : " pollSCM('H/5 * * * *')";
15
+ return `pipeline {
16
+ agent any
17
+
18
+ environment {
19
+ DOCKER_IMAGE = '${cfg.dockerImage || cfg.name}'
20
+ REGISTRY = '${cfg.registry || 'docker.io'}'
21
+ NAMESPACE = '${cfg.namespace || 'default'}'
22
+ ${buildArgsYaml ? `\n parameters {\n${buildArgsYaml}\n }\n` : ''}
23
+ ${envYaml ? `\n${envYaml}\n` : ''}
24
+ }
25
+
26
+ triggers {
27
+ ${triggersYaml}
28
+ }
29
+
30
+ stages {
31
+ stage('Checkout') {
32
+ steps {
33
+ checkout scm
34
+ }
35
+ }
36
+
37
+ stage('Build Image') {
38
+ steps {
39
+ sh "docker build -t \${REGISTRY}/\${DOCKER_IMAGE}:\${BUILD_NUMBER} ."
40
+ }
41
+ }
42
+
43
+ stage('Test') {
44
+ steps {
45
+ sh 'echo "Running tests..."'
46
+ }
47
+ }
48
+
49
+ stage('Push Image') {
50
+ steps {
51
+ withCredentials([usernamePassword(credentialsId: 'registry-creds', usernameVariable: 'USER', passwordVariable: 'PASS')]) {
52
+ sh "echo \$PASS | docker login \${REGISTRY} -u \$USER --password-stdin"
53
+ sh "docker push \${REGISTRY}/\${DOCKER_IMAGE}:\${BUILD_NUMBER}"
54
+ sh "docker tag \${REGISTRY}/\${DOCKER_IMAGE}:\${BUILD_NUMBER} \${REGISTRY}/\${DOCKER_IMAGE}:latest"
55
+ sh "docker push \${REGISTRY}/\${DOCKER_IMAGE}:latest"
56
+ }
57
+ }
58
+ }
59
+
60
+ stage('Deploy to OKD') {
61
+ steps {
62
+ sh "oc tag \${NAMESPACE}/\${DOCKER_IMAGE}:\${BUILD_NUMBER} \${NAMESPACE}/\${DOCKER_IMAGE}:latest || true"
63
+ sh "oc rollout latest dc/\${DOCKER_IMAGE} -n \${NAMESPACE}"
64
+ }
65
+ }
66
+ }
67
+
68
+ post {
69
+ success {
70
+ echo 'Build + Deploy succeeded!'
71
+ }
72
+ failure {
73
+ echo 'Build failed!'
74
+ }
75
+ }
76
+ }`;
77
+ }
78
+ function multibranchTemplate(cfg) {
79
+ return `pipeline {
80
+ agent any
81
+
82
+ triggers {
83
+ pollSCM('H/5 * * * *')
84
+ }
85
+
86
+ stages {
87
+ stage('Detect Branch') {
88
+ steps {
89
+ script {
90
+ env.BRANCH_NAME = env.BRANCH_NAME ?: 'main'
91
+ echo "Building branch: \${env.BRANCH_NAME}"
92
+ }
93
+ }
94
+ }
95
+
96
+ stage('Checkout') {
97
+ steps {
98
+ checkout scm
99
+ }
100
+ }
101
+
102
+ stage('Build') {
103
+ steps {
104
+ sh "docker build -t ${cfg.name}:\${env.BRANCH_NAME}-\${BUILD_NUMBER} ."
105
+ }
106
+ }
107
+
108
+ stage('Test') {
109
+ steps {
110
+ sh 'echo "Running tests for \${env.BRANCH_NAME}"'
111
+ }
112
+ }
113
+
114
+ stage('Deploy') {
115
+ when { branch 'main' }
116
+ steps {
117
+ sh "oc tag ${cfg.name}:latest ${cfg.name}:\${BUILD_NUMBER} || true"
118
+ sh "oc rollout latest dc/${cfg.name}"
119
+ }
120
+ }
121
+ }
122
+ }`;
123
+ }
124
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/infra/templates/jenkins/index.ts"],"names":[],"mappings":";;AAAA,kDAiFC;AAED,kDAiDC;AApID,SAAgB,mBAAmB,CAAC,GAQnC;IACC,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS;QACjC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO;QACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM;QACvC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChD,CAAC,CAAC,4BAA4B,CAAC;IAEjC,OAAO;;;;sBAIa,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI;kBAC/B,GAAG,CAAC,QAAQ,IAAI,WAAW;mBAC1B,GAAG,CAAC,SAAS,IAAI,SAAS;EAC3C,aAAa,CAAC,CAAC,CAAC,qBAAqB,aAAa,SAAS,CAAC,CAAC,CAAC,EAAE;EAChE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;;;;EAI/B,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDZ,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAInC;IACC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;8BAyBqB,GAAG,CAAC,IAAI;;;;;;;;;;;;;qBAajB,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,IAAI;mCACb,GAAG,CAAC,IAAI;;;;EAIzC,CAAC;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ export declare function deploymentConfigTemplate(cfg: {
2
+ name: string;
3
+ image: string;
4
+ port: number;
5
+ replicas: number;
6
+ ns: string;
7
+ registry: string;
8
+ envVars?: Record<string, string>;
9
+ }): string;
10
+ export declare function buildConfigTemplate(cfg: {
11
+ name: string;
12
+ ns: string;
13
+ }): string;
14
+ export declare function imageStreamTemplate(cfg: {
15
+ name: string;
16
+ ns: string;
17
+ registry: string;
18
+ }): string;
19
+ export declare function routeTemplate(cfg: {
20
+ name: string;
21
+ ns: string;
22
+ hostname: string;
23
+ tls: boolean;
24
+ port: number;
25
+ }): string;
26
+ export declare function serviceTemplate(cfg: {
27
+ name: string;
28
+ ns: string;
29
+ port: number;
30
+ }): string;
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/infra/templates/okd/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,GAAG,EAAE;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,GAAG,MAAM,CA2DT;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CA0B7E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAkB/F;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAmBrH;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAevF"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deploymentConfigTemplate = deploymentConfigTemplate;
4
+ exports.buildConfigTemplate = buildConfigTemplate;
5
+ exports.imageStreamTemplate = imageStreamTemplate;
6
+ exports.routeTemplate = routeTemplate;
7
+ exports.serviceTemplate = serviceTemplate;
8
+ function deploymentConfigTemplate(cfg) {
9
+ const envYaml = cfg.envVars
10
+ ? Object.entries(cfg.envVars)
11
+ .map(([k, v]) => ` - name: ${k}\n value: "${v}"`)
12
+ .join('\n')
13
+ : '';
14
+ return `apiVersion: apps.openshift.io/v1
15
+ kind: DeploymentConfig
16
+ metadata:
17
+ name: ${cfg.name}
18
+ namespace: ${cfg.ns}
19
+ labels:
20
+ app: ${cfg.name}
21
+ spec:
22
+ replicas: ${cfg.replicas}
23
+ selector:
24
+ app: ${cfg.name}
25
+ template:
26
+ metadata:
27
+ labels:
28
+ app: ${cfg.name}
29
+ spec:
30
+ containers:
31
+ - name: ${cfg.name}
32
+ image: ${cfg.registry}/${cfg.ns}/${cfg.image}
33
+ ports:
34
+ - containerPort: ${cfg.port}
35
+ protocol: TCP
36
+ resources:
37
+ requests:
38
+ cpu: 100m
39
+ memory: 128Mi
40
+ limits:
41
+ cpu: 500m
42
+ memory: 512Mi
43
+ ${envYaml ? ` env:\n${envYaml}` : ''}
44
+ readinessProbe:
45
+ httpGet:
46
+ path: /health
47
+ port: ${cfg.port}
48
+ initialDelaySeconds: 5
49
+ periodSeconds: 10
50
+ livenessProbe:
51
+ httpGet:
52
+ path: /health
53
+ port: ${cfg.port}
54
+ initialDelaySeconds: 15
55
+ periodSeconds: 20
56
+ triggers:
57
+ - type: ConfigChange
58
+ - type: ImageChange
59
+ imageChangeParams:
60
+ automatic: true
61
+ containerNames:
62
+ - ${cfg.name}
63
+ from:
64
+ kind: ImageStreamTag
65
+ name: ${cfg.name}:latest`;
66
+ }
67
+ function buildConfigTemplate(cfg) {
68
+ return `apiVersion: build.openshift.io/v1
69
+ kind: BuildConfig
70
+ metadata:
71
+ name: ${cfg.name}
72
+ namespace: ${cfg.ns}
73
+ labels:
74
+ app: ${cfg.name}
75
+ spec:
76
+ source:
77
+ type: Git
78
+ git:
79
+ uri: ""
80
+ strategy:
81
+ type: Docker
82
+ dockerStrategy:
83
+ dockerfilePath: Dockerfile
84
+ output:
85
+ to:
86
+ kind: ImageStreamTag
87
+ name: ${cfg.name}:latest
88
+ triggers:
89
+ - type: GitHub
90
+ github:
91
+ secret: ""
92
+ - type: ConfigChange`;
93
+ }
94
+ function imageStreamTemplate(cfg) {
95
+ return `apiVersion: image.openshift.io/v1
96
+ kind: ImageStream
97
+ metadata:
98
+ name: ${cfg.name}
99
+ namespace: ${cfg.ns}
100
+ labels:
101
+ app: ${cfg.name}
102
+ spec:
103
+ lookupPolicy:
104
+ local: false
105
+ tags:
106
+ - name: latest
107
+ from:
108
+ kind: DockerImage
109
+ name: ${cfg.registry}/${cfg.ns}/${cfg.name}:latest
110
+ importPolicy:
111
+ scheduled: true`;
112
+ }
113
+ function routeTemplate(cfg) {
114
+ return `apiVersion: route.openshift.io/v1
115
+ kind: Route
116
+ metadata:
117
+ name: ${cfg.name}
118
+ namespace: ${cfg.ns}
119
+ labels:
120
+ app: ${cfg.name}
121
+ spec:
122
+ host: ${cfg.hostname}
123
+ to:
124
+ kind: Service
125
+ name: ${cfg.name}
126
+ weight: 100
127
+ port:
128
+ targetPort: ${cfg.port}
129
+ tls:
130
+ termination: ${cfg.tls ? 'edge' : 'passthrough'}
131
+ insecureEdgeTerminationPolicy: Redirect`;
132
+ }
133
+ function serviceTemplate(cfg) {
134
+ return `apiVersion: v1
135
+ kind: Service
136
+ metadata:
137
+ name: ${cfg.name}
138
+ namespace: ${cfg.ns}
139
+ labels:
140
+ app: ${cfg.name}
141
+ spec:
142
+ ports:
143
+ - port: ${cfg.port}
144
+ targetPort: ${cfg.port}
145
+ protocol: TCP
146
+ selector:
147
+ app: ${cfg.name}`;
148
+ }
149
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/infra/templates/okd/index.ts"],"names":[],"mappings":";;AAAA,4DAmEC;AAED,kDA0BC;AAED,kDAkBC;AAED,sCAmBC;AAED,0CAeC;AAzJD,SAAgB,wBAAwB,CAAC,GAQxC;IACC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO;QACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,GAAG,CAAC;aACpE,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;UAGC,GAAG,CAAC,IAAI;eACH,GAAG,CAAC,EAAE;;WAEV,GAAG,CAAC,IAAI;;cAEL,GAAG,CAAC,QAAQ;;WAEf,GAAG,CAAC,IAAI;;;;eAIJ,GAAG,CAAC,IAAI;;;kBAGL,GAAG,CAAC,IAAI;mBACP,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK;;+BAEvB,GAAG,CAAC,IAAI;;;;;;;;;EASrC,OAAO,CAAC,CAAC,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;;;;sBAIvB,GAAG,CAAC,IAAI;;;;;;sBAMR,GAAG,CAAC,IAAI;;;;;;;;;cAShB,GAAG,CAAC,IAAI;;;kBAGJ,GAAG,CAAC,IAAI,SAAS,CAAC;AACpC,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAiC;IACnE,OAAO;;;UAGC,GAAG,CAAC,IAAI;eACH,GAAG,CAAC,EAAE;;WAEV,GAAG,CAAC,IAAI;;;;;;;;;;;;;cAaL,GAAG,CAAC,IAAI;;;;;yBAKG,CAAC;AAC1B,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAmD;IACrF,OAAO;;;UAGC,GAAG,CAAC,IAAI;eACH,GAAG,CAAC,EAAE;;WAEV,GAAG,CAAC,IAAI;;;;;;;;gBAQH,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI;;wBAE1B,CAAC;AACzB,CAAC;AAED,SAAgB,aAAa,CAAC,GAA+E;IAC3G,OAAO;;;UAGC,GAAG,CAAC,IAAI;eACH,GAAG,CAAC,EAAE;;WAEV,GAAG,CAAC,IAAI;;UAET,GAAG,CAAC,QAAQ;;;YAGV,GAAG,CAAC,IAAI;;;kBAGF,GAAG,CAAC,IAAI;;mBAEP,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;4CACP,CAAC;AAC7C,CAAC;AAED,SAAgB,eAAe,CAAC,GAA+C;IAC7E,OAAO;;;UAGC,GAAG,CAAC,IAAI;eACH,GAAG,CAAC,EAAE;;WAEV,GAAG,CAAC,IAAI;;;cAGL,GAAG,CAAC,IAAI;oBACF,GAAG,CAAC,IAAI;;;WAGjB,GAAG,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC"}
@@ -0,0 +1,128 @@
1
+ export type InfraProviderType = 'jenkins' | 'okd' | 'terraform';
2
+ export interface HealthStatus {
3
+ status: 'healthy' | 'degraded' | 'down';
4
+ latency: number;
5
+ details: Record<string, any>;
6
+ lastChecked: string;
7
+ }
8
+ export interface InfraStatus {
9
+ providers: Record<string, HealthStatus>;
10
+ lastDiscovery: string;
11
+ }
12
+ export interface JenkinsConfig {
13
+ url: string;
14
+ username?: string;
15
+ apiToken?: string;
16
+ credentialsId?: string;
17
+ folder?: string;
18
+ }
19
+ export interface OKDConfig {
20
+ server: string;
21
+ project: string;
22
+ imageRegistry?: string;
23
+ token?: string;
24
+ route?: {
25
+ tls: boolean;
26
+ hostname: string;
27
+ };
28
+ }
29
+ export interface TerraformConfig {
30
+ backend: string;
31
+ bucket?: string;
32
+ key?: string;
33
+ region?: string;
34
+ workDir?: string;
35
+ }
36
+ export interface InfraConfig {
37
+ jenkins?: JenkinsConfig;
38
+ okd?: OKDConfig;
39
+ terraform?: TerraformConfig;
40
+ deploy: {
41
+ autoApprove: boolean;
42
+ confirmationPrompt: boolean;
43
+ notifyOnSuccess: boolean;
44
+ };
45
+ }
46
+ export interface DeployResult {
47
+ provider: string;
48
+ success: boolean;
49
+ url?: string;
50
+ artifacts: string[];
51
+ logs: string[];
52
+ nextSteps: string[];
53
+ tokenEstimate: number;
54
+ }
55
+ export interface PipelineConfig {
56
+ name: string;
57
+ branch: string;
58
+ dockerImage?: string;
59
+ registry?: string;
60
+ namespace?: string;
61
+ buildArgs?: Record<string, string>;
62
+ envVars?: Record<string, string>;
63
+ triggers?: string[];
64
+ }
65
+ export interface OKDManifests {
66
+ deploymentConfig: string;
67
+ buildConfig: string;
68
+ imageStream: string;
69
+ route: string;
70
+ service: string;
71
+ }
72
+ export type FindingSeverity = 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW';
73
+ export type FindingCategory = 'security' | 'reliability' | 'cost' | 'performance' | 'compliance';
74
+ export interface InfraFinding {
75
+ ruleId: string;
76
+ severity: FindingSeverity;
77
+ category: FindingCategory;
78
+ resource: string;
79
+ message: string;
80
+ suggestion: string;
81
+ autoFixAvailable: boolean;
82
+ }
83
+ export interface InfraAnalysisResult {
84
+ findings: InfraFinding[];
85
+ score: number;
86
+ provider: string;
87
+ summary: string;
88
+ }
89
+ export interface DriftResult {
90
+ resource: string;
91
+ type: 'config' | 'state' | 'permission';
92
+ expected: string;
93
+ actual: string;
94
+ severity: FindingSeverity;
95
+ }
96
+ export interface MonolithAnalysis {
97
+ modules: ModuleInfo[];
98
+ couplingScore: number;
99
+ suggestedSplits: SuggestedSplit[];
100
+ migrationPlan: MigrationStep[];
101
+ }
102
+ export interface ModuleInfo {
103
+ name: string;
104
+ files: number;
105
+ dependencies: string[];
106
+ entryPoints: string[];
107
+ complexity: number;
108
+ }
109
+ export interface SuggestedSplit {
110
+ name: string;
111
+ includes: string[];
112
+ rationale: string;
113
+ estimatedEffort: 'low' | 'medium' | 'high';
114
+ }
115
+ export interface MigrationStep {
116
+ order: number;
117
+ action: string;
118
+ detail: string;
119
+ risk: FindingSeverity;
120
+ }
121
+ export interface InfraCLIOptions {
122
+ provider?: string;
123
+ project?: string;
124
+ dryRun?: boolean;
125
+ verbose?: boolean;
126
+ json?: boolean;
127
+ }
128
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/infra/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // ── Infrastructure Command Center Types ────────────────────────────────────────
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/infra/types.ts"],"names":[],"mappings":";AAAA,kFAAkF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAkgCnE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAC1C,IAAI,CA2DN"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA2gCnE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAC1C,IAAI,CA2DN"}
@@ -69,6 +69,7 @@ const SymbolSurgicalContext_1 = require("../utils/SymbolSurgicalContext");
69
69
  const WormholeCompressor_1 = require("../utils/WormholeCompressor");
70
70
  const ExecutiveReport_1 = require("../utils/ExecutiveReport");
71
71
  const SurgicalASTInsert_1 = require("../utils/SurgicalASTInsert");
72
+ const mcp_tools_1 = require("../infra/mcp-tools");
72
73
  // ── Pro License Gate ──────────────────────────────────────────────────────────
73
74
  const LICENSE_FILE = path_1.default.join(os_1.default.homedir(), '.lemma-cache', 'license.json');
74
75
  let _proStatusCache = null;
@@ -99,6 +100,8 @@ const FREE_TOOLS = new Set([
99
100
  "read_token_budgeted", "bulk_file_digest", "auto_context_bundle", "repeat_guard",
100
101
  // Phase 3 session & automation tools
101
102
  "conversation_checkpoint", "test_autofix_interceptor", "prompt_pattern_cache",
103
+ // Infrastructure tools
104
+ ...mcp_tools_1.INFRA_TOOL_NAMES,
102
105
  ]);
103
106
  const PRO_GATE_MESSAGE = [
104
107
  "🔒 This tool requires Lemma Pro.",
@@ -969,6 +972,10 @@ const toolDefinitions = [
969
972
  }
970
973
  }
971
974
  ];
975
+ // ── Infrastructure Tool Definitions ──────────────────────────────────────────
976
+ const _infraToolDefs = (0, mcp_tools_1.getInfraToolDefinitions)();
977
+ const allToolDefinitions = [...toolDefinitions, ..._infraToolDefs];
978
+ const toolDefinitionsArray = _infraToolDefs.length > 0 ? allToolDefinitions : toolDefinitions;
972
979
  const toolHandlers = {
973
980
  scrub_privacy: handleScrubPrivacy,
974
981
  search_memory: handleSearchMemory,
@@ -1038,10 +1045,11 @@ const toolHandlers = {
1038
1045
  conversation_checkpoint: handleConversationCheckpoint,
1039
1046
  test_autofix_interceptor: handleTestAutofixInterceptor,
1040
1047
  prompt_pattern_cache: handlePromptPatternCache,
1048
+ ...(0, mcp_tools_1.getInfraToolHandlers)(),
1041
1049
  };
1042
1050
  function setupToolsHandlers(server, onToolCall) {
1043
1051
  server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
1044
- tools: toolDefinitions,
1052
+ tools: toolDefinitionsArray,
1045
1053
  }));
1046
1054
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
1047
1055
  const { name, arguments: args } = request.params;