@nxuss/lemma 1.37.0 → 1.39.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.
- package/README.md +9 -6
- package/bin/brain-ingest.js +86 -27
- package/bin/doctor.js +31 -4
- package/bin/init.js +98 -60
- package/dashboard/dist/assets/index-DNTQXLER.css +1 -0
- package/dashboard/dist/assets/index-DzL_Zu3m.js +452 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/cjs/cli/gitHooks.d.ts +9 -2
- package/dist/cjs/cli/gitHooks.d.ts.map +1 -1
- package/dist/cjs/cli/gitHooks.js +31 -4
- package/dist/cjs/cli/gitHooks.js.map +1 -1
- package/dist/cjs/cli/hostHooks.d.ts +13 -1
- package/dist/cjs/cli/hostHooks.d.ts.map +1 -1
- package/dist/cjs/cli/hostHooks.js +34 -4
- package/dist/cjs/cli/hostHooks.js.map +1 -1
- package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
- package/dist/cjs/cli/lemma-proxy.js +42 -5
- package/dist/cjs/cli/lemma-proxy.js.map +1 -1
- package/dist/cjs/infra/analyzers/index.d.ts +0 -2
- package/dist/cjs/infra/analyzers/index.d.ts.map +1 -1
- package/dist/cjs/infra/analyzers/index.js +1 -6
- package/dist/cjs/infra/analyzers/index.js.map +1 -1
- package/dist/cjs/infra/cli.d.ts +4 -0
- package/dist/cjs/infra/cli.d.ts.map +1 -1
- package/dist/cjs/infra/cli.js +6 -199
- package/dist/cjs/infra/cli.js.map +1 -1
- package/dist/cjs/infra/index.d.ts +1 -3
- package/dist/cjs/infra/index.d.ts.map +1 -1
- package/dist/cjs/infra/index.js +1 -16
- package/dist/cjs/infra/index.js.map +1 -1
- package/dist/cjs/infra/mcp-tools.d.ts.map +1 -1
- package/dist/cjs/infra/mcp-tools.js +8 -453
- package/dist/cjs/infra/mcp-tools.js.map +1 -1
- package/dist/cjs/infra/types.d.ts +0 -101
- package/dist/cjs/infra/types.d.ts.map +1 -1
- package/dist/cjs/infra/types.js +2 -1
- package/dist/cjs/infra/types.js.map +1 -1
- package/dist/cjs/mcp/index.js +33 -10
- package/dist/cjs/mcp/index.js.map +1 -1
- package/dist/cjs/mcp/prompts.d.ts +1 -1
- package/dist/cjs/mcp/prompts.d.ts.map +1 -1
- package/dist/cjs/mcp/prompts.js +8 -21
- package/dist/cjs/mcp/prompts.js.map +1 -1
- package/dist/cjs/mcp/tool-profiles.d.ts +8 -3
- package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
- package/dist/cjs/mcp/tool-profiles.js +25 -54
- package/dist/cjs/mcp/tool-profiles.js.map +1 -1
- package/dist/cjs/mcp/tools/memory.d.ts +8 -0
- package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
- package/dist/cjs/mcp/tools/memory.js +154 -125
- package/dist/cjs/mcp/tools/memory.js.map +1 -1
- package/dist/cjs/mcp/tools.d.ts.map +1 -1
- package/dist/cjs/mcp/tools.js +11 -6
- package/dist/cjs/mcp/tools.js.map +1 -1
- package/dist/cjs/mcp/workspaceShared.d.ts.map +1 -1
- package/dist/cjs/mcp/workspaceShared.js +13 -12
- package/dist/cjs/mcp/workspaceShared.js.map +1 -1
- package/dist/cjs/proxy/ProjectRegistry.d.ts +44 -0
- package/dist/cjs/proxy/ProjectRegistry.d.ts.map +1 -1
- package/dist/cjs/proxy/ProjectRegistry.js +92 -3
- package/dist/cjs/proxy/ProjectRegistry.js.map +1 -1
- package/dist/cjs/subconscious/HostRecall.d.ts +36 -3
- package/dist/cjs/subconscious/HostRecall.d.ts.map +1 -1
- package/dist/cjs/subconscious/HostRecall.js +164 -37
- package/dist/cjs/subconscious/HostRecall.js.map +1 -1
- package/dist/cjs/subconscious/NarrowEvidence.d.ts +47 -0
- package/dist/cjs/subconscious/NarrowEvidence.d.ts.map +1 -0
- package/dist/cjs/subconscious/NarrowEvidence.js +252 -0
- package/dist/cjs/subconscious/NarrowEvidence.js.map +1 -0
- package/dist/cjs/subconscious/TheBrainV2.d.ts +37 -0
- package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
- package/dist/cjs/subconscious/TheBrainV2.js +147 -15
- package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
- package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
- package/dist/cjs/subconscious/freshness/LocalFsResolver.js +17 -0
- package/dist/cjs/subconscious/freshness/LocalFsResolver.js.map +1 -1
- package/dist/cjs/subconscious/recallDigest.d.ts +42 -0
- package/dist/cjs/subconscious/recallDigest.d.ts.map +1 -0
- package/dist/cjs/subconscious/recallDigest.js +94 -0
- package/dist/cjs/subconscious/recallDigest.js.map +1 -0
- package/dist/cjs/utils/OtherLanguageSymbols.d.ts +31 -0
- package/dist/cjs/utils/OtherLanguageSymbols.d.ts.map +1 -0
- package/dist/cjs/utils/OtherLanguageSymbols.js +283 -0
- package/dist/cjs/utils/OtherLanguageSymbols.js.map +1 -0
- package/dist/cjs/utils/SavingsLedger.d.ts +27 -0
- package/dist/cjs/utils/SavingsLedger.d.ts.map +1 -1
- package/dist/cjs/utils/SavingsLedger.js +51 -0
- package/dist/cjs/utils/SavingsLedger.js.map +1 -1
- package/dist/cjs/utils/StoreDraft.d.ts +12 -0
- package/dist/cjs/utils/StoreDraft.d.ts.map +1 -1
- package/dist/cjs/utils/StoreDraft.js +53 -1
- package/dist/cjs/utils/StoreDraft.js.map +1 -1
- package/dist/cjs/utils/SymbolSurgicalContext.d.ts +2 -0
- package/dist/cjs/utils/SymbolSurgicalContext.d.ts.map +1 -1
- package/dist/cjs/utils/SymbolSurgicalContext.js +1 -0
- package/dist/cjs/utils/SymbolSurgicalContext.js.map +1 -1
- package/dist/cjs/utils/reportSavings.d.ts +17 -4
- package/dist/cjs/utils/reportSavings.d.ts.map +1 -1
- package/dist/cjs/utils/reportSavings.js +67 -22
- package/dist/cjs/utils/reportSavings.js.map +1 -1
- package/dist/esm/cli/gitHooks.d.ts +9 -2
- package/dist/esm/cli/gitHooks.d.ts.map +1 -1
- package/dist/esm/cli/gitHooks.js +31 -4
- package/dist/esm/cli/gitHooks.js.map +1 -1
- package/dist/esm/cli/hostHooks.d.ts +13 -1
- package/dist/esm/cli/hostHooks.d.ts.map +1 -1
- package/dist/esm/cli/hostHooks.js +32 -3
- package/dist/esm/cli/hostHooks.js.map +1 -1
- package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
- package/dist/esm/cli/lemma-proxy.js +42 -5
- package/dist/esm/cli/lemma-proxy.js.map +1 -1
- package/dist/esm/infra/analyzers/index.d.ts +0 -2
- package/dist/esm/infra/analyzers/index.d.ts.map +1 -1
- package/dist/esm/infra/analyzers/index.js +0 -2
- package/dist/esm/infra/analyzers/index.js.map +1 -1
- package/dist/esm/infra/cli.d.ts +4 -0
- package/dist/esm/infra/cli.d.ts.map +1 -1
- package/dist/esm/infra/cli.js +6 -199
- package/dist/esm/infra/cli.js.map +1 -1
- package/dist/esm/infra/index.d.ts +1 -3
- package/dist/esm/infra/index.d.ts.map +1 -1
- package/dist/esm/infra/index.js +1 -3
- package/dist/esm/infra/index.js.map +1 -1
- package/dist/esm/infra/mcp-tools.d.ts.map +1 -1
- package/dist/esm/infra/mcp-tools.js +9 -454
- package/dist/esm/infra/mcp-tools.js.map +1 -1
- package/dist/esm/infra/types.d.ts +0 -101
- package/dist/esm/infra/types.d.ts.map +1 -1
- package/dist/esm/infra/types.js +2 -1
- package/dist/esm/infra/types.js.map +1 -1
- package/dist/esm/mcp/index.js +33 -10
- package/dist/esm/mcp/index.js.map +1 -1
- package/dist/esm/mcp/prompts.d.ts +1 -1
- package/dist/esm/mcp/prompts.d.ts.map +1 -1
- package/dist/esm/mcp/prompts.js +8 -21
- package/dist/esm/mcp/prompts.js.map +1 -1
- package/dist/esm/mcp/tool-profiles.d.ts +8 -3
- package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
- package/dist/esm/mcp/tool-profiles.js +25 -54
- package/dist/esm/mcp/tool-profiles.js.map +1 -1
- package/dist/esm/mcp/tools/memory.d.ts +8 -0
- package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
- package/dist/esm/mcp/tools/memory.js +156 -128
- package/dist/esm/mcp/tools/memory.js.map +1 -1
- package/dist/esm/mcp/tools.d.ts.map +1 -1
- package/dist/esm/mcp/tools.js +12 -7
- package/dist/esm/mcp/tools.js.map +1 -1
- package/dist/esm/mcp/workspaceShared.d.ts.map +1 -1
- package/dist/esm/mcp/workspaceShared.js +13 -12
- package/dist/esm/mcp/workspaceShared.js.map +1 -1
- package/dist/esm/proxy/ProjectRegistry.d.ts +44 -0
- package/dist/esm/proxy/ProjectRegistry.d.ts.map +1 -1
- package/dist/esm/proxy/ProjectRegistry.js +91 -2
- package/dist/esm/proxy/ProjectRegistry.js.map +1 -1
- package/dist/esm/subconscious/HostRecall.d.ts +36 -3
- package/dist/esm/subconscious/HostRecall.d.ts.map +1 -1
- package/dist/esm/subconscious/HostRecall.js +159 -36
- package/dist/esm/subconscious/HostRecall.js.map +1 -1
- package/dist/esm/subconscious/NarrowEvidence.d.ts +47 -0
- package/dist/esm/subconscious/NarrowEvidence.d.ts.map +1 -0
- package/dist/esm/subconscious/NarrowEvidence.js +211 -0
- package/dist/esm/subconscious/NarrowEvidence.js.map +1 -0
- package/dist/esm/subconscious/TheBrainV2.d.ts +37 -0
- package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
- package/dist/esm/subconscious/TheBrainV2.js +146 -14
- package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
- package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
- package/dist/esm/subconscious/freshness/LocalFsResolver.js +17 -0
- package/dist/esm/subconscious/freshness/LocalFsResolver.js.map +1 -1
- package/dist/esm/subconscious/recallDigest.d.ts +42 -0
- package/dist/esm/subconscious/recallDigest.d.ts.map +1 -0
- package/dist/esm/subconscious/recallDigest.js +87 -0
- package/dist/esm/subconscious/recallDigest.js.map +1 -0
- package/dist/esm/utils/OtherLanguageSymbols.d.ts +31 -0
- package/dist/esm/utils/OtherLanguageSymbols.d.ts.map +1 -0
- package/dist/esm/utils/OtherLanguageSymbols.js +275 -0
- package/dist/esm/utils/OtherLanguageSymbols.js.map +1 -0
- package/dist/esm/utils/SavingsLedger.d.ts +27 -0
- package/dist/esm/utils/SavingsLedger.d.ts.map +1 -1
- package/dist/esm/utils/SavingsLedger.js +51 -0
- package/dist/esm/utils/SavingsLedger.js.map +1 -1
- package/dist/esm/utils/StoreDraft.d.ts +12 -0
- package/dist/esm/utils/StoreDraft.d.ts.map +1 -1
- package/dist/esm/utils/StoreDraft.js +52 -1
- package/dist/esm/utils/StoreDraft.js.map +1 -1
- package/dist/esm/utils/SymbolSurgicalContext.d.ts +2 -0
- package/dist/esm/utils/SymbolSurgicalContext.d.ts.map +1 -1
- package/dist/esm/utils/SymbolSurgicalContext.js +1 -1
- package/dist/esm/utils/SymbolSurgicalContext.js.map +1 -1
- package/dist/esm/utils/reportSavings.d.ts +17 -4
- package/dist/esm/utils/reportSavings.d.ts.map +1 -1
- package/dist/esm/utils/reportSavings.js +65 -22
- package/dist/esm/utils/reportSavings.js.map +1 -1
- package/package.json +2 -1
- package/dashboard/dist/assets/index-BoeQau6n.css +0 -1
- package/dashboard/dist/assets/index-Clf3qR64.js +0 -451
- package/dist/cjs/infra/analyzers/DriftDetector.d.ts +0 -4
- package/dist/cjs/infra/analyzers/DriftDetector.d.ts.map +0 -1
- package/dist/cjs/infra/analyzers/DriftDetector.js +0 -88
- package/dist/cjs/infra/analyzers/DriftDetector.js.map +0 -1
- package/dist/cjs/infra/analyzers/InfraAnalyzer.d.ts +0 -3
- package/dist/cjs/infra/analyzers/InfraAnalyzer.d.ts.map +0 -1
- package/dist/cjs/infra/analyzers/InfraAnalyzer.js +0 -73
- package/dist/cjs/infra/analyzers/InfraAnalyzer.js.map +0 -1
- package/dist/cjs/infra/config.d.ts +0 -17
- package/dist/cjs/infra/config.d.ts.map +0 -1
- package/dist/cjs/infra/config.js +0 -111
- package/dist/cjs/infra/config.js.map +0 -1
- package/dist/cjs/infra/errorCause.d.ts +0 -36
- package/dist/cjs/infra/errorCause.d.ts.map +0 -1
- package/dist/cjs/infra/errorCause.js +0 -143
- package/dist/cjs/infra/errorCause.js.map +0 -1
- package/dist/cjs/infra/providers/InfraProvider.d.ts +0 -9
- package/dist/cjs/infra/providers/InfraProvider.d.ts.map +0 -1
- package/dist/cjs/infra/providers/InfraProvider.js +0 -3
- package/dist/cjs/infra/providers/InfraProvider.js.map +0 -1
- package/dist/cjs/infra/providers/JenkinsProvider.d.ts +0 -16
- package/dist/cjs/infra/providers/JenkinsProvider.d.ts.map +0 -1
- package/dist/cjs/infra/providers/JenkinsProvider.js +0 -193
- package/dist/cjs/infra/providers/JenkinsProvider.js.map +0 -1
- package/dist/cjs/infra/providers/OKDProvider.d.ts +0 -24
- package/dist/cjs/infra/providers/OKDProvider.d.ts.map +0 -1
- package/dist/cjs/infra/providers/OKDProvider.js +0 -296
- package/dist/cjs/infra/providers/OKDProvider.js.map +0 -1
- package/dist/cjs/infra/providers/TerraformProvider.d.ts +0 -17
- package/dist/cjs/infra/providers/TerraformProvider.d.ts.map +0 -1
- package/dist/cjs/infra/providers/TerraformProvider.js +0 -111
- package/dist/cjs/infra/providers/TerraformProvider.js.map +0 -1
- package/dist/cjs/infra/providers/index.d.ts +0 -9
- package/dist/cjs/infra/providers/index.d.ts.map +0 -1
- package/dist/cjs/infra/providers/index.js +0 -34
- package/dist/cjs/infra/providers/index.js.map +0 -1
- package/dist/cjs/infra/templates/jenkins/index.d.ts +0 -15
- package/dist/cjs/infra/templates/jenkins/index.d.ts.map +0 -1
- package/dist/cjs/infra/templates/jenkins/index.js +0 -128
- package/dist/cjs/infra/templates/jenkins/index.js.map +0 -1
- package/dist/cjs/infra/templates/okd/index.d.ts +0 -31
- package/dist/cjs/infra/templates/okd/index.d.ts.map +0 -1
- package/dist/cjs/infra/templates/okd/index.js +0 -149
- package/dist/cjs/infra/templates/okd/index.js.map +0 -1
- package/dist/esm/infra/analyzers/DriftDetector.d.ts +0 -4
- package/dist/esm/infra/analyzers/DriftDetector.d.ts.map +0 -1
- package/dist/esm/infra/analyzers/DriftDetector.js +0 -84
- package/dist/esm/infra/analyzers/DriftDetector.js.map +0 -1
- package/dist/esm/infra/analyzers/InfraAnalyzer.d.ts +0 -3
- package/dist/esm/infra/analyzers/InfraAnalyzer.d.ts.map +0 -1
- package/dist/esm/infra/analyzers/InfraAnalyzer.js +0 -70
- package/dist/esm/infra/analyzers/InfraAnalyzer.js.map +0 -1
- package/dist/esm/infra/config.d.ts +0 -17
- package/dist/esm/infra/config.d.ts.map +0 -1
- package/dist/esm/infra/config.js +0 -101
- package/dist/esm/infra/config.js.map +0 -1
- package/dist/esm/infra/errorCause.d.ts +0 -36
- package/dist/esm/infra/errorCause.d.ts.map +0 -1
- package/dist/esm/infra/errorCause.js +0 -138
- package/dist/esm/infra/errorCause.js.map +0 -1
- package/dist/esm/infra/providers/InfraProvider.d.ts +0 -9
- package/dist/esm/infra/providers/InfraProvider.d.ts.map +0 -1
- package/dist/esm/infra/providers/InfraProvider.js +0 -2
- package/dist/esm/infra/providers/InfraProvider.js.map +0 -1
- package/dist/esm/infra/providers/JenkinsProvider.d.ts +0 -16
- package/dist/esm/infra/providers/JenkinsProvider.d.ts.map +0 -1
- package/dist/esm/infra/providers/JenkinsProvider.js +0 -186
- package/dist/esm/infra/providers/JenkinsProvider.js.map +0 -1
- package/dist/esm/infra/providers/OKDProvider.d.ts +0 -24
- package/dist/esm/infra/providers/OKDProvider.d.ts.map +0 -1
- package/dist/esm/infra/providers/OKDProvider.js +0 -292
- package/dist/esm/infra/providers/OKDProvider.js.map +0 -1
- package/dist/esm/infra/providers/TerraformProvider.d.ts +0 -17
- package/dist/esm/infra/providers/TerraformProvider.d.ts.map +0 -1
- package/dist/esm/infra/providers/TerraformProvider.js +0 -107
- package/dist/esm/infra/providers/TerraformProvider.js.map +0 -1
- package/dist/esm/infra/providers/index.d.ts +0 -9
- package/dist/esm/infra/providers/index.d.ts.map +0 -1
- package/dist/esm/infra/providers/index.js +0 -27
- package/dist/esm/infra/providers/index.js.map +0 -1
- package/dist/esm/infra/templates/jenkins/index.d.ts +0 -15
- package/dist/esm/infra/templates/jenkins/index.d.ts.map +0 -1
- package/dist/esm/infra/templates/jenkins/index.js +0 -124
- package/dist/esm/infra/templates/jenkins/index.js.map +0 -1
- package/dist/esm/infra/templates/okd/index.d.ts +0 -31
- package/dist/esm/infra/templates/okd/index.d.ts.map +0 -1
- package/dist/esm/infra/templates/okd/index.js +0 -142
- package/dist/esm/infra/templates/okd/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DriftDetector.d.ts","sourceRoot":"","sources":["../../../../src/infra/analyzers/DriftDetector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAepE;AA8CD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CA0B7D"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.detectTerraformDrift = detectTerraformDrift;
|
|
4
|
-
exports.detectOKDDrift = detectOKDDrift;
|
|
5
|
-
const child_process_1 = require("child_process");
|
|
6
|
-
function detectTerraformDrift(workDir) {
|
|
7
|
-
try {
|
|
8
|
-
(0, child_process_1.execSync)('terraform plan -detailed-exitcode -no-color', {
|
|
9
|
-
encoding: 'utf8',
|
|
10
|
-
timeout: 60000,
|
|
11
|
-
cwd: workDir,
|
|
12
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
13
|
-
});
|
|
14
|
-
return [];
|
|
15
|
-
}
|
|
16
|
-
catch (err) {
|
|
17
|
-
if (err.status === 2) {
|
|
18
|
-
return parsePlanOutput(err.stdout || '');
|
|
19
|
-
}
|
|
20
|
-
return [];
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function parsePlanOutput(output) {
|
|
24
|
-
const drifts = [];
|
|
25
|
-
const lines = output.split('\n');
|
|
26
|
-
for (const line of lines) {
|
|
27
|
-
const modifiedMatch = line.match(/^\s+~\s+(\S+)/);
|
|
28
|
-
if (modifiedMatch) {
|
|
29
|
-
drifts.push({
|
|
30
|
-
resource: modifiedMatch[1],
|
|
31
|
-
type: 'config',
|
|
32
|
-
expected: 'current state',
|
|
33
|
-
actual: 'will be modified',
|
|
34
|
-
severity: 'MEDIUM',
|
|
35
|
-
});
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
const removedMatch = line.match(/^\s+-\s+(\S+)/);
|
|
39
|
-
if (removedMatch) {
|
|
40
|
-
drifts.push({
|
|
41
|
-
resource: removedMatch[1],
|
|
42
|
-
type: 'state',
|
|
43
|
-
expected: 'exists',
|
|
44
|
-
actual: 'will be destroyed',
|
|
45
|
-
severity: 'HIGH',
|
|
46
|
-
});
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
const addedMatch = line.match(/^\s+\+\s+(\S+)/);
|
|
50
|
-
if (addedMatch) {
|
|
51
|
-
drifts.push({
|
|
52
|
-
resource: addedMatch[1],
|
|
53
|
-
type: 'config',
|
|
54
|
-
expected: 'does not exist',
|
|
55
|
-
actual: 'will be created',
|
|
56
|
-
severity: 'LOW',
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return drifts;
|
|
61
|
-
}
|
|
62
|
-
function detectOKDDrift(project) {
|
|
63
|
-
try {
|
|
64
|
-
const raw = (0, child_process_1.execSync)(`oc get all -n ${project} -o json`, {
|
|
65
|
-
encoding: 'utf8',
|
|
66
|
-
timeout: 15000,
|
|
67
|
-
});
|
|
68
|
-
const data = JSON.parse(raw);
|
|
69
|
-
const drifts = [];
|
|
70
|
-
for (const item of data.items || []) {
|
|
71
|
-
const status = item.status;
|
|
72
|
-
if (status?.phase === 'Failed' || status?.phase === 'Error') {
|
|
73
|
-
drifts.push({
|
|
74
|
-
resource: `${item.kind}/${item.metadata.name}`,
|
|
75
|
-
type: 'config',
|
|
76
|
-
expected: 'Running',
|
|
77
|
-
actual: status.phase,
|
|
78
|
-
severity: 'HIGH',
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return drifts;
|
|
83
|
-
}
|
|
84
|
-
catch {
|
|
85
|
-
return [];
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=DriftDetector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DriftDetector.js","sourceRoot":"","sources":["../../../../src/infra/analyzers/DriftDetector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InfraAnalyzer.d.ts","sourceRoot":"","sources":["../../../../src/infra/analyzers/InfraAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAElE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,mBAAmB,CAwE/F"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.analyzeInfra = analyzeInfra;
|
|
4
|
-
function analyzeInfra(provider, status) {
|
|
5
|
-
const findings = [];
|
|
6
|
-
if (provider === 'okd') {
|
|
7
|
-
const podList = status.podList || [];
|
|
8
|
-
for (const pod of podList) {
|
|
9
|
-
if (pod.status !== 'Running') {
|
|
10
|
-
findings.push({
|
|
11
|
-
ruleId: 'okd-pod-not-running',
|
|
12
|
-
severity: pod.status === 'CrashLoopBackOff' ? 'CRITICAL' : 'HIGH',
|
|
13
|
-
category: 'reliability',
|
|
14
|
-
resource: pod.name,
|
|
15
|
-
message: `Pod ${pod.name} is in ${pod.status}`,
|
|
16
|
-
suggestion: 'Check pod logs: oc logs ' + pod.name,
|
|
17
|
-
autoFixAvailable: false,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
if (pod.restarts > 3) {
|
|
21
|
-
findings.push({
|
|
22
|
-
ruleId: 'okd-high-restarts',
|
|
23
|
-
severity: 'MEDIUM',
|
|
24
|
-
category: 'reliability',
|
|
25
|
-
resource: pod.name,
|
|
26
|
-
message: `Pod ${pod.name} has ${pod.restarts} restarts`,
|
|
27
|
-
suggestion: 'Investigate crash reason in pod logs',
|
|
28
|
-
autoFixAvailable: false,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
if (provider === 'jenkins') {
|
|
34
|
-
const jobs = status.jobs || [];
|
|
35
|
-
for (const job of jobs) {
|
|
36
|
-
if (job.color === 'red') {
|
|
37
|
-
findings.push({
|
|
38
|
-
ruleId: 'jenkins-failed-build',
|
|
39
|
-
severity: 'HIGH',
|
|
40
|
-
category: 'reliability',
|
|
41
|
-
resource: job.name,
|
|
42
|
-
message: `Jenkins job ${job.name} last build failed`,
|
|
43
|
-
suggestion: 'Check build logs and fix the failure',
|
|
44
|
-
autoFixAvailable: false,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
if (job.building) {
|
|
48
|
-
findings.push({
|
|
49
|
-
ruleId: 'jenkins-active-build',
|
|
50
|
-
severity: 'LOW',
|
|
51
|
-
category: 'performance',
|
|
52
|
-
resource: job.name,
|
|
53
|
-
message: `Jenkins job ${job.name} is currently building`,
|
|
54
|
-
suggestion: 'No action needed, build in progress',
|
|
55
|
-
autoFixAvailable: false,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const score = Math.max(0, 100 - findings.reduce((sum, f) => {
|
|
61
|
-
const deduction = f.severity === 'CRITICAL' ? 25 : f.severity === 'HIGH' ? 15 : f.severity === 'MEDIUM' ? 8 : 3;
|
|
62
|
-
return sum + deduction;
|
|
63
|
-
}, 0));
|
|
64
|
-
return {
|
|
65
|
-
findings,
|
|
66
|
-
score,
|
|
67
|
-
provider,
|
|
68
|
-
summary: findings.length === 0
|
|
69
|
-
? `All ${provider} resources are healthy.`
|
|
70
|
-
: `Found ${findings.length} issue(s) in ${provider} (score: ${score}/100)`,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=InfraAnalyzer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InfraAnalyzer.js","sourceRoot":"","sources":["../../../../src/infra/analyzers/InfraAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { InfraConfig } from './types';
|
|
2
|
-
export declare function getInfraConfig(): InfraConfig;
|
|
3
|
-
interface DeployRecord {
|
|
4
|
-
provider: string;
|
|
5
|
-
project: string;
|
|
6
|
-
timestamp: string;
|
|
7
|
-
success: boolean;
|
|
8
|
-
summary: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function markProviderConnected(name: string, config: any): void;
|
|
11
|
-
export declare function getConnectedProviders(): Record<string, {
|
|
12
|
-
connectedAt: string;
|
|
13
|
-
}>;
|
|
14
|
-
export declare function recordDeploy(provider: string, project: string, success: boolean, summary: string): void;
|
|
15
|
-
export declare function getDeployHistory(limit?: number): DeployRecord[];
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/infra/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAyB3C,wBAAgB,cAAc,IAAI,WAAW,CAiC5C;AAUD,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAiBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAIrE;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAO/E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAWvG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,SAAK,GAAG,YAAY,EAAE,CAG3D"}
|
package/dist/cjs/infra/config.js
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getInfraConfig = getInfraConfig;
|
|
7
|
-
exports.markProviderConnected = markProviderConnected;
|
|
8
|
-
exports.getConnectedProviders = getConnectedProviders;
|
|
9
|
-
exports.recordDeploy = recordDeploy;
|
|
10
|
-
exports.getDeployHistory = getDeployHistory;
|
|
11
|
-
const fs_1 = __importDefault(require("fs"));
|
|
12
|
-
const path_1 = __importDefault(require("path"));
|
|
13
|
-
const os_1 = __importDefault(require("os"));
|
|
14
|
-
const INFRA_CACHE_DIR = path_1.default.join(os_1.default.homedir(), '.lemma-cache', 'infra');
|
|
15
|
-
const INFRA_STATE_FILE = path_1.default.join(INFRA_CACHE_DIR, 'state.json');
|
|
16
|
-
const LEMMA_CONFIG_PATH = path_1.default.join(process.cwd(), 'lemma.config.json');
|
|
17
|
-
// ── Config Loading ────────────────────────────────────────────────────────────
|
|
18
|
-
function ensureCacheDir() {
|
|
19
|
-
if (!fs_1.default.existsSync(INFRA_CACHE_DIR)) {
|
|
20
|
-
fs_1.default.mkdirSync(INFRA_CACHE_DIR, { recursive: true });
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function readLemmaConfig() {
|
|
24
|
-
try {
|
|
25
|
-
if (fs_1.default.existsSync(LEMMA_CONFIG_PATH)) {
|
|
26
|
-
const raw = fs_1.default.readFileSync(LEMMA_CONFIG_PATH, 'utf8');
|
|
27
|
-
const parsed = JSON.parse(raw);
|
|
28
|
-
return parsed.infra || {};
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
catch { }
|
|
32
|
-
return {};
|
|
33
|
-
}
|
|
34
|
-
function getInfraConfig() {
|
|
35
|
-
const fileConfig = readLemmaConfig();
|
|
36
|
-
return {
|
|
37
|
-
jenkins: fileConfig.jenkins || {
|
|
38
|
-
url: process.env.JENKINS_URL || '',
|
|
39
|
-
username: process.env.JENKINS_USERNAME || '',
|
|
40
|
-
apiToken: process.env.JENKINS_API_TOKEN || '',
|
|
41
|
-
credentialsId: process.env.JENKINS_CREDENTIALS_ID || '',
|
|
42
|
-
folder: process.env.JENKINS_FOLDER || '',
|
|
43
|
-
},
|
|
44
|
-
okd: fileConfig.okd || {
|
|
45
|
-
server: process.env.OKD_SERVER || '',
|
|
46
|
-
project: process.env.OKD_PROJECT || '',
|
|
47
|
-
imageRegistry: process.env.OKD_IMAGE_REGISTRY || '',
|
|
48
|
-
token: process.env.OKD_TOKEN || '',
|
|
49
|
-
route: process.env.OKD_ROUTE_HOST
|
|
50
|
-
? { tls: process.env.OKD_ROUTE_TLS !== 'false', hostname: process.env.OKD_ROUTE_HOST }
|
|
51
|
-
: undefined,
|
|
52
|
-
},
|
|
53
|
-
terraform: fileConfig.terraform || {
|
|
54
|
-
backend: process.env.TF_BACKEND || 's3',
|
|
55
|
-
bucket: process.env.TF_BUCKET || '',
|
|
56
|
-
key: process.env.TF_KEY || '',
|
|
57
|
-
region: process.env.TF_REGION || '',
|
|
58
|
-
workDir: process.env.TF_WORK_DIR || process.cwd(),
|
|
59
|
-
},
|
|
60
|
-
deploy: fileConfig.deploy || {
|
|
61
|
-
autoApprove: process.env.INFRA_AUTO_APPROVE === 'true',
|
|
62
|
-
confirmationPrompt: process.env.INFRA_CONFIRM !== 'false',
|
|
63
|
-
notifyOnSuccess: process.env.INFRA_NOTIFY !== 'false',
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
function loadState() {
|
|
68
|
-
ensureCacheDir();
|
|
69
|
-
try {
|
|
70
|
-
if (fs_1.default.existsSync(INFRA_STATE_FILE)) {
|
|
71
|
-
return JSON.parse(fs_1.default.readFileSync(INFRA_STATE_FILE, 'utf8'));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
catch { }
|
|
75
|
-
return { connectedProviders: {}, lastDiscovery: '', deployHistory: [] };
|
|
76
|
-
}
|
|
77
|
-
function saveState(state) {
|
|
78
|
-
ensureCacheDir();
|
|
79
|
-
fs_1.default.writeFileSync(INFRA_STATE_FILE, JSON.stringify(state, null, 2), 'utf8');
|
|
80
|
-
}
|
|
81
|
-
function markProviderConnected(name, config) {
|
|
82
|
-
const state = loadState();
|
|
83
|
-
state.connectedProviders[name] = { connectedAt: new Date().toISOString(), config };
|
|
84
|
-
saveState(state);
|
|
85
|
-
}
|
|
86
|
-
function getConnectedProviders() {
|
|
87
|
-
const state = loadState();
|
|
88
|
-
const result = {};
|
|
89
|
-
for (const [k, v] of Object.entries(state.connectedProviders)) {
|
|
90
|
-
result[k] = { connectedAt: v.connectedAt };
|
|
91
|
-
}
|
|
92
|
-
return result;
|
|
93
|
-
}
|
|
94
|
-
function recordDeploy(provider, project, success, summary) {
|
|
95
|
-
const state = loadState();
|
|
96
|
-
state.deployHistory.push({
|
|
97
|
-
provider,
|
|
98
|
-
project,
|
|
99
|
-
timestamp: new Date().toISOString(),
|
|
100
|
-
success,
|
|
101
|
-
summary,
|
|
102
|
-
});
|
|
103
|
-
if (state.deployHistory.length > 100)
|
|
104
|
-
state.deployHistory = state.deployHistory.slice(-100);
|
|
105
|
-
saveState(state);
|
|
106
|
-
}
|
|
107
|
-
function getDeployHistory(limit = 10) {
|
|
108
|
-
const state = loadState();
|
|
109
|
-
return state.deployHistory.slice(-limit);
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/infra/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AN-17: every infra failure used to surface as "<bin> command failed: ...", which made
|
|
3
|
-
* the 33% infrastructure error rate (okd_status 9/16) undiagnosable — tool, credentials,
|
|
4
|
-
* network and cluster failures were indistinguishable in `is_error` and in the 100-char
|
|
5
|
-
* onToolCall error strings. These helpers classify at the only point where the signal
|
|
6
|
-
* still exists (errno, signal, status code, stderr text) and prefix every error as
|
|
7
|
-
* `[<bin>:<cause>]`, so future failures aggregate into a cause histogram instead of
|
|
8
|
-
* one opaque bucket. Pure functions + thin wrappers: fully unit-testable, no I/O here.
|
|
9
|
-
*/
|
|
10
|
-
export type InfraErrorCause = 'tool-missing' | 'timeout' | 'unreachable' | 'auth' | 'config' | 'remote';
|
|
11
|
-
export interface ClassifiedInfraError {
|
|
12
|
-
cause: InfraErrorCause;
|
|
13
|
-
/** Short human-readable cause label for the message prefix. */
|
|
14
|
-
label: string;
|
|
15
|
-
/** What to do about it — the part that turns a failure into an actionable error. */
|
|
16
|
-
nextStep: string;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Classify a child_process exec failure (execSync/execFileSync error shape).
|
|
20
|
-
* Precedence matters: a missing binary also matches nothing else, but a timeout that
|
|
21
|
-
* mentions a host must read as timeout, not unreachable — check in this order.
|
|
22
|
-
*/
|
|
23
|
-
export declare function classifyExecError(bin: string, err: any): ClassifiedInfraError;
|
|
24
|
-
/**
|
|
25
|
-
* Classify an axios-style HTTP failure (err.response?.status / err.code / message).
|
|
26
|
-
*/
|
|
27
|
-
export declare function classifyHttpError(bin: string, err: any): ClassifiedInfraError;
|
|
28
|
-
/**
|
|
29
|
-
* Build the error every infra provider throws: `[<bin>:<cause>] <detail>. Next: <step>`.
|
|
30
|
-
* The bracket prefix is deliberately first — onToolCall truncates errors to 100 chars,
|
|
31
|
-
* so the cause must survive truncation for the cause histogram to work.
|
|
32
|
-
*/
|
|
33
|
-
export declare function infraError(bin: string, err: any, opts?: {
|
|
34
|
-
http?: boolean;
|
|
35
|
-
}): Error;
|
|
36
|
-
//# sourceMappingURL=errorCause.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errorCause.d.ts","sourceRoot":"","sources":["../../../src/infra/errorCause.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,SAAS,GACT,aAAa,GACb,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,eAAe,CAAC;IACvB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,oBAAoB,CA8C7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,oBAAoB,CA+C7E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CASlF"}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* AN-17: every infra failure used to surface as "<bin> command failed: ...", which made
|
|
4
|
-
* the 33% infrastructure error rate (okd_status 9/16) undiagnosable — tool, credentials,
|
|
5
|
-
* network and cluster failures were indistinguishable in `is_error` and in the 100-char
|
|
6
|
-
* onToolCall error strings. These helpers classify at the only point where the signal
|
|
7
|
-
* still exists (errno, signal, status code, stderr text) and prefix every error as
|
|
8
|
-
* `[<bin>:<cause>]`, so future failures aggregate into a cause histogram instead of
|
|
9
|
-
* one opaque bucket. Pure functions + thin wrappers: fully unit-testable, no I/O here.
|
|
10
|
-
*/
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.classifyExecError = classifyExecError;
|
|
13
|
-
exports.classifyHttpError = classifyHttpError;
|
|
14
|
-
exports.infraError = infraError;
|
|
15
|
-
const AUTH_RE = /unauthori[sz]ed|forbidden|\b401\b|\b403\b|login failed|invalid.*token|bad credentials|certificate|self[- ]signed|tls|ssl/i;
|
|
16
|
-
const UNREACHABLE_RE = /ECONNREFUSED|ENOTFOUND|EHOSTUNREACH|EPIPE|ENETUNREACH|connect .*refused|getaddrinfo|no such host/i;
|
|
17
|
-
const TIMEOUT_RE = /ETIMEDOUT|timed out|timeout|ESOCKETTIMEDOUT/i;
|
|
18
|
-
// The token travels on the command line today (see OKDProvider.connect); if a failure
|
|
19
|
-
// message ever echoes argv, the secret must not ride along into logs and transcripts.
|
|
20
|
-
const SECRET_RE = /--token=\S+|token[=:]\s*\S+/gi;
|
|
21
|
-
function scrubSecrets(text) {
|
|
22
|
-
return String(text ?? '').replace(SECRET_RE, '--token=[redacted]');
|
|
23
|
-
}
|
|
24
|
-
function firstLine(text, max = 200) {
|
|
25
|
-
const line = scrubSecrets(text).split('\n').map((l) => l.trim()).filter(Boolean)[0] ?? '';
|
|
26
|
-
return line.length > max ? line.slice(0, max) + '…' : line;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Classify a child_process exec failure (execSync/execFileSync error shape).
|
|
30
|
-
* Precedence matters: a missing binary also matches nothing else, but a timeout that
|
|
31
|
-
* mentions a host must read as timeout, not unreachable — check in this order.
|
|
32
|
-
*/
|
|
33
|
-
function classifyExecError(bin, err) {
|
|
34
|
-
const code = typeof err?.code === 'string' ? err.code : '';
|
|
35
|
-
const signal = typeof err?.signal === 'string' ? err.signal : '';
|
|
36
|
-
const raw = [err?.stderr, err?.message].filter(Boolean).join('\n');
|
|
37
|
-
if (code === 'ENOENT' || /command not found|spawn .* ENOENT/i.test(raw)) {
|
|
38
|
-
return {
|
|
39
|
-
cause: 'tool-missing',
|
|
40
|
-
label: `${bin} binary not found`,
|
|
41
|
-
nextStep: `install ${bin} and ensure it is on PATH`,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
if (code === 'ETIMEDOUT' || signal === 'SIGTERM' && /timed out/i.test(raw) || TIMEOUT_RE.test(code)) {
|
|
45
|
-
return {
|
|
46
|
-
cause: 'timeout',
|
|
47
|
-
label: `${bin} timed out`,
|
|
48
|
-
nextStep: 'check cluster responsiveness and raise the timeout for slow clusters',
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
if (TIMEOUT_RE.test(raw)) {
|
|
52
|
-
return {
|
|
53
|
-
cause: 'timeout',
|
|
54
|
-
label: `${bin} timed out`,
|
|
55
|
-
nextStep: 'check cluster responsiveness and raise the timeout for slow clusters',
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
if (AUTH_RE.test(raw)) {
|
|
59
|
-
return {
|
|
60
|
-
cause: 'auth',
|
|
61
|
-
label: `${bin} rejected credentials`,
|
|
62
|
-
nextStep: 're-login / rotate the token and verify the active context',
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
if (UNREACHABLE_RE.test(raw) || UNREACHABLE_RE.test(code)) {
|
|
66
|
-
return {
|
|
67
|
-
cause: 'unreachable',
|
|
68
|
-
label: `${bin} cannot reach the server`,
|
|
69
|
-
nextStep: 'verify the server URL, VPN/proxy, and that the API endpoint is up',
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
void bin;
|
|
73
|
-
return {
|
|
74
|
-
cause: 'remote',
|
|
75
|
-
label: `${bin} reported a server-side error`,
|
|
76
|
-
nextStep: 'inspect the detail below; the far end answered with an error',
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Classify an axios-style HTTP failure (err.response?.status / err.code / message).
|
|
81
|
-
*/
|
|
82
|
-
function classifyHttpError(bin, err) {
|
|
83
|
-
const status = Number(err?.response?.status);
|
|
84
|
-
const code = typeof err?.code === 'string' ? err.code : '';
|
|
85
|
-
const raw = [err?.response?.data && typeof err.response.data === 'string' ? err.response.data : '', err?.message]
|
|
86
|
-
.filter(Boolean)
|
|
87
|
-
.join('\n');
|
|
88
|
-
if (status === 401 || status === 403 || (!status && AUTH_RE.test(raw))) {
|
|
89
|
-
return {
|
|
90
|
-
cause: 'auth',
|
|
91
|
-
label: `${bin} rejected credentials (HTTP ${status || 'auth failure'})`,
|
|
92
|
-
nextStep: 'verify the username/API token and that it has not expired',
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
if (status === 404) {
|
|
96
|
-
return {
|
|
97
|
-
cause: 'config',
|
|
98
|
-
label: `${bin} resource not found (HTTP 404)`,
|
|
99
|
-
nextStep: 'verify the URL, folder and job/resource names in the provider config',
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
if (code === 'ECONNABORTED' || TIMEOUT_RE.test(raw) || TIMEOUT_RE.test(code)) {
|
|
103
|
-
return {
|
|
104
|
-
cause: 'timeout',
|
|
105
|
-
label: `${bin} request timed out`,
|
|
106
|
-
nextStep: 'check server responsiveness; the call exceeded the client timeout',
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
if (!status && (UNREACHABLE_RE.test(raw) || UNREACHABLE_RE.test(code))) {
|
|
110
|
-
return {
|
|
111
|
-
cause: 'unreachable',
|
|
112
|
-
label: `${bin} server unreachable`,
|
|
113
|
-
nextStep: 'verify the server URL and network path (VPN/proxy/DNS)',
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
if (!err?.response) {
|
|
117
|
-
return {
|
|
118
|
-
cause: 'unreachable',
|
|
119
|
-
label: `${bin} request never reached the server`,
|
|
120
|
-
nextStep: 'verify the server URL and network path (VPN/proxy/DNS)',
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
return {
|
|
124
|
-
cause: 'remote',
|
|
125
|
-
label: `${bin} server error (HTTP ${status})`,
|
|
126
|
-
nextStep: 'the server answered with an error; check its logs',
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Build the error every infra provider throws: `[<bin>:<cause>] <detail>. Next: <step>`.
|
|
131
|
-
* The bracket prefix is deliberately first — onToolCall truncates errors to 100 chars,
|
|
132
|
-
* so the cause must survive truncation for the cause histogram to work.
|
|
133
|
-
*/
|
|
134
|
-
function infraError(bin, err, opts) {
|
|
135
|
-
const classified = opts?.http ? classifyHttpError(bin, err) : classifyExecError(bin, err);
|
|
136
|
-
const rawDetail = (!opts?.http && typeof err?.stderr === 'string' && err.stderr.trim()
|
|
137
|
-
? err.stderr
|
|
138
|
-
: err?.message) || 'unknown error';
|
|
139
|
-
const detail = firstLine(rawDetail);
|
|
140
|
-
const message = `[${bin}:${classified.cause}] ${classified.label}${detail ? `: ${detail}` : ''}. Next: ${classified.nextStep}.`;
|
|
141
|
-
return new Error(message);
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=errorCause.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errorCause.js","sourceRoot":"","sources":["../../../src/infra/errorCause.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { HealthStatus } from '../types';
|
|
2
|
-
export interface InfraProvider {
|
|
3
|
-
readonly name: string;
|
|
4
|
-
readonly type: 'jenkins' | 'okd' | 'terraform';
|
|
5
|
-
connect(config: any): Promise<boolean>;
|
|
6
|
-
healthCheck(): Promise<HealthStatus>;
|
|
7
|
-
getStatus(): Promise<Record<string, any>>;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=InfraProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InfraProvider.d.ts","sourceRoot":"","sources":["../../../../src/infra/providers/InfraProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,WAAW,CAAC;IAE/C,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CAC3C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InfraProvider.js","sourceRoot":"","sources":["../../../../src/infra/providers/InfraProvider.ts"],"names":[],"mappings":""}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { InfraProvider } from './InfraProvider';
|
|
2
|
-
import type { HealthStatus, PipelineConfig, DeployResult, JenkinsConfig } from '../types';
|
|
3
|
-
export declare class JenkinsProvider implements InfraProvider {
|
|
4
|
-
readonly name = "jenkins";
|
|
5
|
-
readonly type: "jenkins";
|
|
6
|
-
private client;
|
|
7
|
-
private config;
|
|
8
|
-
connect(config: JenkinsConfig): Promise<boolean>;
|
|
9
|
-
healthCheck(): Promise<HealthStatus>;
|
|
10
|
-
getStatus(): Promise<Record<string, any>>;
|
|
11
|
-
generatePipeline(cfg: PipelineConfig): Promise<string>;
|
|
12
|
-
triggerBuild(jobName: string, params?: Record<string, string>): Promise<DeployResult>;
|
|
13
|
-
getBuildStatus(jobName: string, buildNumber?: number): Promise<Record<string, any>>;
|
|
14
|
-
getBuildLogs(jobName: string, buildNumber: number): Promise<string>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=JenkinsProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JenkinsProvider.d.ts","sourceRoot":"","sources":["../../../../src/infra/providers/JenkinsProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG1F,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IACnC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,MAAM,CAA8B;IAEtC,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BhD,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAqBpC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAUzC,gBAAgB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA6DtD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAgCrF,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAgBnF,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAW1E"}
|