ciscollm-cli 1.3.3 → 1.3.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.
- package/README.md +19 -25
- package/dist/cli/commands/daemonCommand.d.ts +4 -0
- package/dist/cli/commands/daemonCommand.js +68 -0
- package/dist/cli/commands/daemonCommand.js.map +1 -0
- package/dist/cli/commands/monitorCommand.js +17 -1
- package/dist/cli/commands/monitorCommand.js.map +1 -1
- package/dist/cli/commands/runCommand.d.ts +1 -3
- package/dist/cli/commands/runCommand.js +177 -470
- package/dist/cli/commands/runCommand.js.map +1 -1
- package/dist/cli/ui/interactiveWizard.d.ts +1 -0
- package/dist/cli/ui/interactiveWizard.js +429 -0
- package/dist/cli/ui/interactiveWizard.js.map +1 -0
- package/dist/cli/ui/ui.js +0 -5
- package/dist/cli/ui/ui.js.map +1 -1
- package/dist/core/agent/AgentLoop.d.ts +15 -3
- package/dist/core/agent/AgentLoop.js +196 -67
- package/dist/core/agent/AgentLoop.js.map +1 -1
- package/dist/core/agent/AutoRemediationEngine.d.ts +14 -0
- package/dist/core/agent/AutoRemediationEngine.js +75 -0
- package/dist/core/agent/AutoRemediationEngine.js.map +1 -0
- package/dist/core/agent/DigitalTwin.d.ts +10 -0
- package/dist/core/agent/DigitalTwin.js +41 -0
- package/dist/core/agent/DigitalTwin.js.map +1 -0
- package/dist/core/agent/IntentTranslator.d.ts +8 -0
- package/dist/core/agent/IntentTranslator.js +63 -0
- package/dist/core/agent/IntentTranslator.js.map +1 -0
- package/dist/core/agent/MemoryManager.d.ts +14 -0
- package/dist/core/agent/MemoryManager.js +89 -0
- package/dist/core/agent/MemoryManager.js.map +1 -0
- package/dist/core/agent/MultiAgentCoordinator.js +0 -2
- package/dist/core/agent/MultiAgentCoordinator.js.map +1 -1
- package/dist/core/agent/NetworkPlanner.d.ts +9 -0
- package/dist/core/agent/NetworkPlanner.js +111 -0
- package/dist/core/agent/NetworkPlanner.js.map +1 -0
- package/dist/core/agent/PromptEngine.d.ts +1 -1
- package/dist/core/agent/PromptEngine.js +23 -13
- package/dist/core/agent/PromptEngine.js.map +1 -1
- package/dist/core/guardrails/NetworkAudit.js +1 -1
- package/dist/core/guardrails/NetworkAudit.js.map +1 -1
- package/dist/core/plugins/PluginManager.d.ts +17 -0
- package/dist/core/plugins/PluginManager.js +108 -0
- package/dist/core/plugins/PluginManager.js.map +1 -0
- package/dist/core/rollback/TransactionManager.js +0 -5
- package/dist/core/rollback/TransactionManager.js.map +1 -1
- package/dist/index.js +36 -61
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/llm/LLMClient.d.ts +1 -0
- package/dist/infrastructure/llm/LLMClient.js +33 -9
- package/dist/infrastructure/llm/LLMClient.js.map +1 -1
- package/dist/infrastructure/protocols/SshSession.d.ts +1 -0
- package/dist/infrastructure/protocols/SshSession.js +5 -4
- package/dist/infrastructure/protocols/SshSession.js.map +1 -1
- package/dist/infrastructure/protocols/TelnetSession.d.ts +1 -0
- package/dist/infrastructure/protocols/TelnetSession.js +5 -1
- package/dist/infrastructure/protocols/TelnetSession.js.map +1 -1
- package/dist/server/devices/ASADevice.d.ts +17 -0
- package/dist/server/devices/ASADevice.js +160 -0
- package/dist/server/devices/ASADevice.js.map +1 -0
- package/dist/server/devices/BaseDevice.d.ts +11 -0
- package/dist/server/devices/BaseDevice.js +19 -0
- package/dist/server/devices/BaseDevice.js.map +1 -0
- package/dist/server/devices/IOSDevice.d.ts +100 -0
- package/dist/server/devices/IOSDevice.js +1561 -0
- package/dist/server/devices/IOSDevice.js.map +1 -0
- package/dist/server/devices/LinuxServerDevice.d.ts +8 -0
- package/dist/server/devices/LinuxServerDevice.js +71 -0
- package/dist/server/devices/LinuxServerDevice.js.map +1 -0
- package/dist/server/devices/PCDevice.d.ts +20 -0
- package/dist/server/devices/PCDevice.js +86 -0
- package/dist/server/devices/PCDevice.js.map +1 -0
- package/dist/server/devices/RouterDevice.d.ts +4 -0
- package/dist/server/devices/RouterDevice.js +11 -0
- package/dist/server/devices/RouterDevice.js.map +1 -0
- package/dist/server/devices/SwitchDevice.d.ts +4 -0
- package/dist/server/devices/SwitchDevice.js +11 -0
- package/dist/server/devices/SwitchDevice.js.map +1 -0
- package/dist/server/devices/WLCDevice.d.ts +15 -0
- package/dist/server/devices/WLCDevice.js +88 -0
- package/dist/server/devices/WLCDevice.js.map +1 -0
- package/dist/server/index.js +47 -22
- package/dist/server/index.js.map +1 -1
- package/dist/server/shell-simulator.js +1 -2
- package/dist/server/shell-simulator.js.map +1 -1
- package/dist/server/ssh.d.ts +2 -1
- package/dist/server/ssh.js +22 -9
- package/dist/server/ssh.js.map +1 -1
- package/dist/server/telnet.d.ts +3 -2
- package/dist/server/telnet.js +10 -42
- package/dist/server/telnet.js.map +1 -1
- package/dist/shared/bootBanner.d.ts +1 -0
- package/dist/shared/bootBanner.js +93 -0
- package/dist/shared/bootBanner.js.map +1 -0
- package/dist/shared/constants.js +1 -1
- package/dist/shared/constants.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/commands/dashboardCommand.d.ts +0 -1
- package/dist/cli/commands/dashboardCommand.js +0 -16
- package/dist/cli/commands/dashboardCommand.js.map +0 -1
- package/dist/cli/commands/shellCommand.d.ts +0 -1
- package/dist/cli/commands/shellCommand.js +0 -44
- package/dist/cli/commands/shellCommand.js.map +0 -1
- package/dist/infrastructure/protocols/CmlSession.d.ts +0 -26
- package/dist/infrastructure/protocols/CmlSession.js +0 -448
- package/dist/infrastructure/protocols/CmlSession.js.map +0 -1
- package/dist/infrastructure/protocols/NetconfSession.d.ts +0 -74
- package/dist/infrastructure/protocols/NetconfSession.js +0 -553
- package/dist/infrastructure/protocols/NetconfSession.js.map +0 -1
- package/dist/server/dashboard.d.ts +0 -3
- package/dist/server/dashboard.js +0 -1149
- package/dist/server/dashboard.js.map +0 -1
package/README.md
CHANGED
|
@@ -16,23 +16,29 @@
|
|
|
16
16
|
* **Dry-Run Validation**: Analyzes network topology beforehand to prevent accidental disruptions.
|
|
17
17
|
* **Strict Command Reference**: Restricts execution to valid Cisco IOS command sets indexed from `cf_command_ref.pdf`.
|
|
18
18
|
|
|
19
|
-
3. **
|
|
19
|
+
3. **Multi-Device Orchestration Planner**
|
|
20
|
+
- **Execution Blueprint**: Before mutating configuration on multiple devices, the planner generates a structured, Terraform-like execution plan for human review.
|
|
21
|
+
- **Interactive Validation**: Prompts the user to approve, revise, or cancel the plan prior to hardware execution.
|
|
22
|
+
|
|
23
|
+
4. **Plugin Extensibility System**
|
|
24
|
+
- Extend the CLI's native toolset with your own Python, Ansible, or Bash scripts.
|
|
25
|
+
- Simply drop a `plugin.json` in `~/.ciscollm/plugins` or `./plugins` and the Agent will dynamically load and execute it to interact with external enterprise systems.
|
|
26
|
+
|
|
27
|
+
5. **Closed-Loop Auto-Healing (AIOps)**
|
|
20
28
|
* Real-time monitoring of syslog notification events (interface state transitions, OSPF adjacency status changes).
|
|
21
29
|
* Autonomous diagnosis, remediation planning, validation, and rollback via an AI-driven OODA loop.
|
|
22
30
|
* **Livelock Prevention (Cooldown)**: Implements sliding-window rate-limiting (maximum 3 healing events within 10 minutes) that triggers a 15-minute cooldown period to protect devices from flapping interface infinite loops.
|
|
23
31
|
|
|
24
|
-
|
|
32
|
+
6. **Atomic Transactions & Recovery**
|
|
25
33
|
* **Atomic Replace**: Backs up configuration to flash and uses `configure replace` to restore state on failures. Includes a **pre-flight flash space check** to ensure enough storage exists before performing backups.
|
|
26
34
|
* **Command Inversion Fallback**: Generates reverse commands (e.g., `shutdown` -> `no shutdown`) to recover state if flash storage is unavailable.
|
|
27
35
|
|
|
28
|
-
|
|
29
|
-
* **Visual Control Dashboard**: A real-time SPA showing network topology maps, agent thinking logs, configuration diffs, and manual rollbacks.
|
|
30
|
-
* **State Diff Engine**: Displays colorized differences (green/red/yellow) in routing tables, VLANs, and interfaces.
|
|
36
|
+
7. **Enterprise Audits**
|
|
31
37
|
* **Enterprise Audit Log**: Local, structured audit logging (`audit.log` & `healing-audit.log`) for compliance.
|
|
32
38
|
|
|
33
|
-
|
|
34
|
-
* Adapters for Serial (Plink), SSH,
|
|
35
|
-
* Stateful mock IOS simulator server
|
|
39
|
+
8. **Multi-Protocol Simulation & Adapters**
|
|
40
|
+
* Adapters for Serial (Plink), SSH, and Telnet.
|
|
41
|
+
* Stateful mock IOS simulator server for safe testing.
|
|
36
42
|
|
|
37
43
|
---
|
|
38
44
|
|
|
@@ -56,16 +62,10 @@ Run the interactive setup wizard to configure the agent target and goals:
|
|
|
56
62
|
ciscollm run
|
|
57
63
|
```
|
|
58
64
|
|
|
59
|
-
### Launching the
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
ciscollm shell
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Starting the Visual Control Dashboard
|
|
66
|
-
Start the visual dashboard standalone:
|
|
65
|
+
### Launching the Agent
|
|
66
|
+
Run the interactive setup wizard to configure the agent target and goals:
|
|
67
67
|
```bash
|
|
68
|
-
ciscollm
|
|
68
|
+
ciscollm run
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
---
|
|
@@ -78,7 +78,7 @@ Execute configuration or optimization tasks on target hardware.
|
|
|
78
78
|
| Option / Flag | Description | Default |
|
|
79
79
|
|---|---|---|
|
|
80
80
|
| `-g, --goal <intent>` | Configuration goal. Omit to launch the Interactive Setup Wizard. | - |
|
|
81
|
-
| `--protocol <type>` | Connection protocol (`serial`, `ssh`, `telnet
|
|
81
|
+
| `--protocol <type>` | Connection protocol (`serial`, `ssh`, `telnet`). | `serial` |
|
|
82
82
|
| `--provider <type>` | LLM provider mode (`local`, `cloud`). | `local` |
|
|
83
83
|
| `--local-type <type>` | Local LLM service flavor (`ollama`, `lmstudio`). | `ollama` |
|
|
84
84
|
| `--model <name>` | LLM model name. | - |
|
|
@@ -93,15 +93,11 @@ Execute configuration or optimization tasks on target hardware.
|
|
|
93
93
|
| `--env-password` | Read device password from `$CISCOLLM_PASS` environment variable. | `false` |
|
|
94
94
|
| `--private-key <path>` | SSH private key file path. | - |
|
|
95
95
|
| `--passphrase <passphrase>`| Passphrase for the SSH private key file. | - |
|
|
96
|
-
| `--netconf-ready-timeout <ms>` | NETCONF SSH connection ready timeout. | - |
|
|
97
|
-
| `--netconf-hello-timeout <ms>` | NETCONF hello exchange timeout. | - |
|
|
98
|
-
| `--netconf-rpc-timeout <ms>` | NETCONF RPC invocation timeout. | - |
|
|
99
|
-
| `--netconf-keepalive-interval <ms>` | NETCONF SSH keepalive interval. | - |
|
|
100
96
|
| `--strict-command-ref` | Block commands not listed in `cf_command_ref.pdf`. | `false` |
|
|
101
97
|
| `--no-ref-telemetry` | Disable command-reference telemetry logs during startup. | `false` |
|
|
102
98
|
| `--non-interactive` | Auto-reject high-risk commands instead of prompting for approval. | `false` |
|
|
103
99
|
| `--rbac-role <role>` | Authorization role (`admin`, `read_only`). | `admin` |
|
|
104
|
-
| `--
|
|
100
|
+
| `--sessions <name>` | Save or load the connection setup using a persistent session name. | - |
|
|
105
101
|
|
|
106
102
|
### 2. `ciscollm monitor [options]`
|
|
107
103
|
Start the Closed-Loop Auto-Diagnosis & Healing Monitor (AIOps) to listen for device syslog events and heal outages autonomously.
|
|
@@ -128,8 +124,6 @@ Start the Closed-Loop Auto-Diagnosis & Healing Monitor (AIOps) to listen for dev
|
|
|
128
124
|
|
|
129
125
|
### Other Commands
|
|
130
126
|
* `ciscollm server [options]` - Start mock SSH (`--ssh-port`), Telnet (`--telnet-port`), and HTTP LLM (`--http-port`) servers.
|
|
131
|
-
* `ciscollm shell` - Launch a stateful interactive mock Cisco IOS command line directly.
|
|
132
|
-
* `ciscollm dashboard [--port <port>]` - Start the visual dashboard standalone (default: 3000).
|
|
133
127
|
|
|
134
128
|
---
|
|
135
129
|
|
|
@@ -0,0 +1,68 @@
|
|
|
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.daemonAction = daemonAction;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const LLMClient_1 = require("../../infrastructure/llm/LLMClient");
|
|
9
|
+
const MultiAgentCoordinator_1 = require("../../core/agent/MultiAgentCoordinator");
|
|
10
|
+
const AutoRemediationEngine_1 = require("../../core/agent/AutoRemediationEngine");
|
|
11
|
+
const SshSession_1 = require("../../infrastructure/protocols/SshSession");
|
|
12
|
+
const TelnetSession_1 = require("../../infrastructure/protocols/TelnetSession");
|
|
13
|
+
const PlinkSerial_1 = require("../../infrastructure/protocols/PlinkSerial");
|
|
14
|
+
const ui_1 = require("../ui/ui");
|
|
15
|
+
async function daemonAction(options, coordinatorWrapper, cleanup) {
|
|
16
|
+
console.log(chalk_1.default.cyan(`\n[*] Starting Self-Healing Daemon Mode...`));
|
|
17
|
+
try {
|
|
18
|
+
let endpoint = options.endpoint || 'http://127.0.0.1:1234/v1';
|
|
19
|
+
if (options.localType === 'ollama')
|
|
20
|
+
endpoint = 'http://127.0.0.1:11434/v1';
|
|
21
|
+
const localAIClient = new LLMClient_1.LLMClient('local', endpoint, options.model, undefined, options.localType || 'lmstudio');
|
|
22
|
+
coordinatorWrapper.active = new MultiAgentCoordinator_1.MultiAgentCoordinator();
|
|
23
|
+
let password = options.envPassword ? (process.env.CISCOLLM_PASS || '') : options.password;
|
|
24
|
+
let protocol = options.protocol || 'serial';
|
|
25
|
+
if (protocol === 'serial' && options.com) {
|
|
26
|
+
const ports = options.com.split(',').map((p) => p.trim());
|
|
27
|
+
for (const port of ports)
|
|
28
|
+
coordinatorWrapper.active.registerSession(port, new PlinkSerial_1.PlinkSerialSession(port, parseInt(options.baud || '9600', 10)));
|
|
29
|
+
}
|
|
30
|
+
else if (protocol === 'ssh' && options.host && options.username) {
|
|
31
|
+
const hosts = options.host.split(',').map((h) => h.trim());
|
|
32
|
+
for (const h of hosts)
|
|
33
|
+
coordinatorWrapper.active.registerSession(h, new SshSession_1.SshSession({ host: h, port: options.port ? parseInt(options.port, 10) : 22, username: options.username, password }));
|
|
34
|
+
}
|
|
35
|
+
else if (protocol === 'telnet' && options.host) {
|
|
36
|
+
const hosts = options.host.split(',').map((h) => h.trim());
|
|
37
|
+
for (const h of hosts)
|
|
38
|
+
coordinatorWrapper.active.registerSession(h, new TelnetSession_1.TelnetSession({ host: h, port: options.port ? parseInt(options.port, 10) : 23, username: options.username, password }));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
throw new Error('Missing connection parameters for daemon mode (host/com, username).');
|
|
42
|
+
}
|
|
43
|
+
await localAIClient.ensureReachable();
|
|
44
|
+
await coordinatorWrapper.active.connectAll();
|
|
45
|
+
const remediationEngine = new AutoRemediationEngine_1.AutoRemediationEngine(localAIClient, coordinatorWrapper.active, options.webhookUrl);
|
|
46
|
+
console.log(chalk_1.default.green(`\n[+] Daemon is now actively monitoring the network (polling every 15 seconds). Press Ctrl+C to exit.\n`));
|
|
47
|
+
let isRunning = true;
|
|
48
|
+
const pollInterval = 15000;
|
|
49
|
+
const poll = async () => {
|
|
50
|
+
if (!isRunning)
|
|
51
|
+
return;
|
|
52
|
+
const health = await remediationEngine.checkHealth();
|
|
53
|
+
if (!health.healthy && health.issue) {
|
|
54
|
+
await remediationEngine.autoRemediate(health.issue);
|
|
55
|
+
console.log(chalk_1.default.cyan('\n[*] Resuming normal monitoring...\n'));
|
|
56
|
+
}
|
|
57
|
+
if (isRunning)
|
|
58
|
+
setTimeout(poll, pollInterval);
|
|
59
|
+
};
|
|
60
|
+
poll();
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
ui_1.logger.critical(`Daemon Initialization Error: ${err.message}`);
|
|
64
|
+
await cleanup();
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=daemonCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemonCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/daemonCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const SshSession_1 = require("../../infrastructure/protocols/SshSession");
|
|
|
8
8
|
const TelnetSession_1 = require("../../infrastructure/protocols/TelnetSession");
|
|
9
9
|
const LLMClient_1 = require("../../infrastructure/llm/LLMClient");
|
|
10
10
|
const ui_1 = require("../ui/ui");
|
|
11
|
+
const interactiveWizard_1 = require("../ui/interactiveWizard");
|
|
11
12
|
async function monitorAction(options, coordinatorWrapper, cleanup) {
|
|
12
13
|
let provider = options.provider;
|
|
13
14
|
let localType = options.localType;
|
|
@@ -38,7 +39,22 @@ async function monitorAction(options, coordinatorWrapper, cleanup) {
|
|
|
38
39
|
ui_1.logger.banner();
|
|
39
40
|
ui_1.logger.info(`Initializing auto-healing monitoring in [${provider.toUpperCase()}] mode...`);
|
|
40
41
|
if (!localType)
|
|
41
|
-
localType = '
|
|
42
|
+
localType = 'lmstudio';
|
|
43
|
+
if (!com && !host) {
|
|
44
|
+
const answers = await (0, interactiveWizard_1.runInteractiveWizard)(options, false);
|
|
45
|
+
provider = answers.provider;
|
|
46
|
+
localType = answers.localType;
|
|
47
|
+
apiKey = answers.apiKey;
|
|
48
|
+
model = answers.model;
|
|
49
|
+
endpoint = answers.endpoint;
|
|
50
|
+
protocol = answers.protocol;
|
|
51
|
+
com = answers.com;
|
|
52
|
+
baud = answers.baud;
|
|
53
|
+
host = answers.host;
|
|
54
|
+
port = answers.port;
|
|
55
|
+
username = answers.username;
|
|
56
|
+
password = answers.password;
|
|
57
|
+
}
|
|
42
58
|
coordinatorWrapper.active = new MultiAgentCoordinator_1.MultiAgentCoordinator();
|
|
43
59
|
try {
|
|
44
60
|
if (protocol === 'serial') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitorCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/monitorCommand.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"monitorCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/monitorCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { MultiAgentCoordinator } from '../../core/agent/MultiAgentCoordinator';
|
|
2
2
|
export declare function runAction(options: any, coordinatorWrapper: {
|
|
3
3
|
active: MultiAgentCoordinator | null;
|
|
4
|
-
},
|
|
5
|
-
server: any;
|
|
6
|
-
}, cleanup: () => Promise<void>): Promise<never>;
|
|
4
|
+
}, cleanup: () => Promise<void>): Promise<void>;
|