ciscollm-cli 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +112 -0
- package/dist/cli/ui/ui.d.ts +10 -0
- package/dist/cli/ui/ui.js +25 -0
- package/dist/cli/ui/ui.js.map +1 -0
- package/dist/core/agent/AgentLoop.d.ts +38 -0
- package/dist/core/agent/AgentLoop.js +562 -0
- package/dist/core/agent/AgentLoop.js.map +1 -0
- package/dist/core/agent/CommandReferenceEngine.d.ts +43 -0
- package/dist/core/agent/CommandReferenceEngine.js +366 -0
- package/dist/core/agent/CommandReferenceEngine.js.map +1 -0
- package/dist/core/agent/MultiAgentCoordinator.d.ts +12 -0
- package/dist/core/agent/MultiAgentCoordinator.js +57 -0
- package/dist/core/agent/MultiAgentCoordinator.js.map +1 -0
- package/dist/core/agent/PromptEngine.d.ts +3 -0
- package/dist/core/agent/PromptEngine.js +57 -0
- package/dist/core/agent/PromptEngine.js.map +1 -0
- package/dist/core/guardrails/CommandFirewall.d.ts +10 -0
- package/dist/core/guardrails/CommandFirewall.js +108 -0
- package/dist/core/guardrails/CommandFirewall.js.map +1 -0
- package/dist/core/guardrails/ErrorAnalyzer.d.ts +7 -0
- package/dist/core/guardrails/ErrorAnalyzer.js +16 -0
- package/dist/core/guardrails/ErrorAnalyzer.js.map +1 -0
- package/dist/core/rollback/TransactionManager.d.ts +13 -0
- package/dist/core/rollback/TransactionManager.js +144 -0
- package/dist/core/rollback/TransactionManager.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +578 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/llm/LLMClient.d.ts +11 -0
- package/dist/infrastructure/llm/LLMClient.js +94 -0
- package/dist/infrastructure/llm/LLMClient.js.map +1 -0
- package/dist/infrastructure/llm/LocalLLMClient.d.ts +7 -0
- package/dist/infrastructure/llm/LocalLLMClient.js +39 -0
- package/dist/infrastructure/llm/LocalLLMClient.js.map +1 -0
- package/dist/infrastructure/llm/ToolDefinitions.d.ts +179 -0
- package/dist/infrastructure/llm/ToolDefinitions.js +150 -0
- package/dist/infrastructure/llm/ToolDefinitions.js.map +1 -0
- package/dist/infrastructure/protocols/BaseSession.d.ts +10 -0
- package/dist/infrastructure/protocols/BaseSession.js +39 -0
- package/dist/infrastructure/protocols/BaseSession.js.map +1 -0
- package/dist/infrastructure/protocols/MockSession.d.ts +43 -0
- package/dist/infrastructure/protocols/MockSession.js +505 -0
- package/dist/infrastructure/protocols/MockSession.js.map +1 -0
- package/dist/infrastructure/protocols/PlinkSerial.d.ts +16 -0
- package/dist/infrastructure/protocols/PlinkSerial.js +132 -0
- package/dist/infrastructure/protocols/PlinkSerial.js.map +1 -0
- package/dist/infrastructure/protocols/SshSession.d.ts +19 -0
- package/dist/infrastructure/protocols/SshSession.js +110 -0
- package/dist/infrastructure/protocols/SshSession.js.map +1 -0
- package/dist/infrastructure/protocols/TelnetSession.d.ts +17 -0
- package/dist/infrastructure/protocols/TelnetSession.js +177 -0
- package/dist/infrastructure/protocols/TelnetSession.js.map +1 -0
- package/dist/shared/constants.d.ts +8 -0
- package/dist/shared/constants.js +25 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/types.d.ts +22 -0
- package/dist/shared/types.js +3 -0
- package/dist/shared/types.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorAnalyzer = void 0;
|
|
4
|
+
const constants_1 = require("../../shared/constants");
|
|
5
|
+
class ErrorAnalyzer {
|
|
6
|
+
static checkOutput(output) {
|
|
7
|
+
for (const pattern of constants_1.IOS_ERROR_PATTERNS) {
|
|
8
|
+
if (pattern.regex.test(output)) {
|
|
9
|
+
return { hasError: true, errorType: pattern.type };
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return { hasError: false, errorType: null };
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.ErrorAnalyzer = ErrorAnalyzer;
|
|
16
|
+
//# sourceMappingURL=ErrorAnalyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorAnalyzer.js","sourceRoot":"","sources":["../../../src/core/guardrails/ErrorAnalyzer.ts"],"names":[],"mappings":";;;AAAA,sDAA4D;AAO5D,MAAa,aAAa;IAEf,MAAM,CAAC,WAAW,CAAC,MAAc;QACpC,KAAK,MAAM,OAAO,IAAI,8BAAkB,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACvD,CAAC;QACL,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;CACJ;AAVD,sCAUC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseSession } from '../../infrastructure/protocols/BaseSession';
|
|
2
|
+
export declare class TransactionManager {
|
|
3
|
+
private configChangeLog;
|
|
4
|
+
private targetInterface;
|
|
5
|
+
private backupCreated;
|
|
6
|
+
private readonly backupFilename;
|
|
7
|
+
initializeBackup(session: BaseSession): Promise<void>;
|
|
8
|
+
trackMutation(command: string): void;
|
|
9
|
+
private isMutational;
|
|
10
|
+
executeRollback(session: BaseSession): Promise<string>;
|
|
11
|
+
clear(): void;
|
|
12
|
+
hasMutations(): boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransactionManager = void 0;
|
|
4
|
+
class TransactionManager {
|
|
5
|
+
configChangeLog = [];
|
|
6
|
+
targetInterface = null;
|
|
7
|
+
backupCreated = false;
|
|
8
|
+
backupFilename = 'flash:backup-agent.cfg';
|
|
9
|
+
async initializeBackup(session) {
|
|
10
|
+
const state = session.getState();
|
|
11
|
+
if (state.currentMode === 'USER_EXEC') {
|
|
12
|
+
console.log('[TransactionManager]: Elevating to privileged mode for backup...');
|
|
13
|
+
await session.execute('enable');
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
console.log('[TransactionManager]: Creating device running-config backup on flash...');
|
|
17
|
+
const rawOutput = await session.execute(`copy running-config ${this.backupFilename}`);
|
|
18
|
+
if (rawOutput.includes('Destination filename') || rawOutput.includes('?')) {
|
|
19
|
+
const confirmOutput = await session.execute('');
|
|
20
|
+
if (confirmOutput.includes('copied') || confirmOutput.includes('OK')) {
|
|
21
|
+
this.backupCreated = true;
|
|
22
|
+
console.log('[TransactionManager]: Running configuration backup successfully created.');
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
console.warn('[TransactionManager Warning]: Backup confirmation response did not confirm copy completion.');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else if (rawOutput.includes('copied') || rawOutput.includes('OK')) {
|
|
29
|
+
this.backupCreated = true;
|
|
30
|
+
console.log('[TransactionManager]: Running configuration backup successfully created.');
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
console.warn('[TransactionManager Warning]: Failed to backup running-config. Flash may be missing or read-only.');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
console.warn(`[TransactionManager Warning]: Backup creation skipped/failed: ${err.message}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
trackMutation(command) {
|
|
41
|
+
const cleanCmd = command.trim();
|
|
42
|
+
const interfaceMatch = /^interface\s+([A-Za-z0-9\/\.\-]+)/i.exec(cleanCmd);
|
|
43
|
+
if (interfaceMatch) {
|
|
44
|
+
this.targetInterface = interfaceMatch[1];
|
|
45
|
+
}
|
|
46
|
+
if (this.isMutational(cleanCmd)) {
|
|
47
|
+
this.configChangeLog.push(cleanCmd);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
isMutational(command) {
|
|
51
|
+
const lower = command.toLowerCase();
|
|
52
|
+
return !lower.startsWith('show') &&
|
|
53
|
+
!lower.startsWith('enable') &&
|
|
54
|
+
!lower.startsWith('exit') &&
|
|
55
|
+
!lower.startsWith('end') &&
|
|
56
|
+
!lower.startsWith('configure terminal') &&
|
|
57
|
+
!lower.startsWith('conf t') &&
|
|
58
|
+
!lower.startsWith('copy') &&
|
|
59
|
+
!lower.startsWith('interface');
|
|
60
|
+
}
|
|
61
|
+
async executeRollback(session) {
|
|
62
|
+
console.warn('[TransactionManager]: Safety rollback triggered!');
|
|
63
|
+
if (this.backupCreated) {
|
|
64
|
+
try {
|
|
65
|
+
console.warn(`[TransactionManager]: Restoring running configuration atomically using ${this.backupFilename}...`);
|
|
66
|
+
const state = session.getState();
|
|
67
|
+
if (state.currentMode === 'USER_EXEC') {
|
|
68
|
+
await session.execute('enable');
|
|
69
|
+
}
|
|
70
|
+
else if (state.currentMode === 'GLOBAL_CONFIG' || state.currentMode === 'INTERFACE_CONFIG') {
|
|
71
|
+
await session.execute('end');
|
|
72
|
+
}
|
|
73
|
+
const restoreOutput = await session.execute(`configure replace ${this.backupFilename} force`);
|
|
74
|
+
if (!restoreOutput.includes('% Invalid') && !restoreOutput.includes('Unrecognized')) {
|
|
75
|
+
console.log('[TransactionManager]: Atomic restore completed successfully.');
|
|
76
|
+
this.clear();
|
|
77
|
+
return restoreOutput;
|
|
78
|
+
}
|
|
79
|
+
console.warn('[TransactionManager]: configure replace failed/unsupported. Falling back to command inversion.');
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
console.warn(`[TransactionManager Warning]: Atomic replace failed: ${err.message}. Falling back to command inversion.`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
console.warn(`[TransactionManager]: Executing manual inversion for ${this.configChangeLog.length} mutations...`);
|
|
86
|
+
let rollbackSequence = ['configure terminal'];
|
|
87
|
+
if (this.targetInterface) {
|
|
88
|
+
rollbackSequence.push(`interface ${this.targetInterface}`);
|
|
89
|
+
for (const cmd of [...this.configChangeLog].reverse()) {
|
|
90
|
+
const clean = cmd.trim();
|
|
91
|
+
const lower = clean.toLowerCase();
|
|
92
|
+
if (lower.startsWith('ip address') || lower.startsWith('ip add')) {
|
|
93
|
+
rollbackSequence.push('no ip address');
|
|
94
|
+
}
|
|
95
|
+
else if (lower.startsWith('shutdown')) {
|
|
96
|
+
rollbackSequence.push('no shutdown');
|
|
97
|
+
}
|
|
98
|
+
else if (lower.startsWith('no shutdown')) {
|
|
99
|
+
rollbackSequence.push('shutdown');
|
|
100
|
+
}
|
|
101
|
+
else if (lower.startsWith('description')) {
|
|
102
|
+
rollbackSequence.push('no description');
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
if (lower.startsWith('no ')) {
|
|
106
|
+
rollbackSequence.push(clean.substring(3));
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
rollbackSequence.push(`no ${clean}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
for (const cmd of [...this.configChangeLog].reverse()) {
|
|
116
|
+
const clean = cmd.trim();
|
|
117
|
+
const lower = clean.toLowerCase();
|
|
118
|
+
if (lower.startsWith('no ')) {
|
|
119
|
+
rollbackSequence.push(clean.substring(3));
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
rollbackSequence.push(`no ${clean}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
rollbackSequence.push('end');
|
|
127
|
+
let summary = '';
|
|
128
|
+
for (const rollbackCmd of rollbackSequence) {
|
|
129
|
+
console.log(`[TransactionManager Rollback]: Executing "${rollbackCmd}"`);
|
|
130
|
+
summary += await session.execute(rollbackCmd);
|
|
131
|
+
}
|
|
132
|
+
this.clear();
|
|
133
|
+
return summary;
|
|
134
|
+
}
|
|
135
|
+
clear() {
|
|
136
|
+
this.configChangeLog = [];
|
|
137
|
+
this.targetInterface = null;
|
|
138
|
+
}
|
|
139
|
+
hasMutations() {
|
|
140
|
+
return this.configChangeLog.length > 0;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.TransactionManager = TransactionManager;
|
|
144
|
+
//# sourceMappingURL=TransactionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionManager.js","sourceRoot":"","sources":["../../../src/core/rollback/TransactionManager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED