ciscollm-cli 1.0.11 → 1.1.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/README.md +73 -2
- package/dist/core/agent/AgentLoop.d.ts +1 -0
- package/dist/core/agent/AgentLoop.js +157 -0
- package/dist/core/agent/AgentLoop.js.map +1 -1
- package/dist/core/guardrails/AuditLogger.d.ts +2 -0
- package/dist/core/guardrails/AuditLogger.js +5 -0
- package/dist/core/guardrails/AuditLogger.js.map +1 -1
- package/dist/core/guardrails/CommandFirewall.d.ts +1 -0
- package/dist/core/guardrails/CommandFirewall.js +43 -0
- package/dist/core/guardrails/CommandFirewall.js.map +1 -1
- package/dist/core/guardrails/NetworkAudit.d.ts +14 -0
- package/dist/core/guardrails/NetworkAudit.js +105 -0
- package/dist/core/guardrails/NetworkAudit.js.map +1 -0
- package/dist/core/guardrails/PreExecutionValidator.js +3 -2
- package/dist/core/guardrails/PreExecutionValidator.js.map +1 -1
- package/dist/core/rollback/StateDiff.d.ts +7 -0
- package/dist/core/rollback/StateDiff.js +11 -0
- package/dist/core/rollback/StateDiff.js.map +1 -1
- package/dist/core/topology/TopologyDiscovery.js +5 -4
- package/dist/core/topology/TopologyDiscovery.js.map +1 -1
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -1
- package/dist/server/dashboard.d.ts +3 -0
- package/dist/server/dashboard.js +1049 -0
- package/dist/server/dashboard.js.map +1 -0
- package/dist/server/shell-simulator.js +87 -1
- package/dist/server/shell-simulator.js.map +1 -1
- package/dist/shared/utils.d.ts +2 -0
- package/dist/shared/utils.js +76 -0
- package/dist/shared/utils.js.map +1 -0
- package/package.json +52 -52
|
@@ -0,0 +1,105 @@
|
|
|
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.NetworkAudit = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
class NetworkAudit {
|
|
9
|
+
coordinator;
|
|
10
|
+
constructor(coordinator) {
|
|
11
|
+
this.coordinator = coordinator;
|
|
12
|
+
}
|
|
13
|
+
async takeSnapshot(targetDeviceId) {
|
|
14
|
+
const session = this.coordinator.getSession(targetDeviceId);
|
|
15
|
+
if (!session) {
|
|
16
|
+
throw new Error(`Device "${targetDeviceId}" not found for network audit.`);
|
|
17
|
+
}
|
|
18
|
+
let downInterfacesCount = 0;
|
|
19
|
+
let dynamicRoutesCount = 0;
|
|
20
|
+
let routingAdjacenciesCount = 0;
|
|
21
|
+
let pingReachability = false;
|
|
22
|
+
try {
|
|
23
|
+
const ipBrief = await session.execute('show ip interface brief');
|
|
24
|
+
const lines = ipBrief.split(/\r?\n/);
|
|
25
|
+
for (const line of lines) {
|
|
26
|
+
if (/^Interface\s+/i.test(line) || !line.trim())
|
|
27
|
+
continue;
|
|
28
|
+
if (line.includes('down') || line.includes('administratively down')) {
|
|
29
|
+
downInterfacesCount++;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch { }
|
|
34
|
+
try {
|
|
35
|
+
const ipRoute = await session.execute('show ip route');
|
|
36
|
+
const lines = ipRoute.split(/\r?\n/);
|
|
37
|
+
for (const line of lines) {
|
|
38
|
+
const trimmed = line.trim();
|
|
39
|
+
if (/^[O|B|D|R]\s+/i.test(trimmed)) {
|
|
40
|
+
dynamicRoutesCount++;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch { }
|
|
45
|
+
try {
|
|
46
|
+
const ospfNeighbors = await session.execute('show ip ospf neighbor');
|
|
47
|
+
const lines = ospfNeighbors.split(/\r?\n/);
|
|
48
|
+
for (const line of lines) {
|
|
49
|
+
if (/^Neighbor ID/i.test(line) || !line.trim())
|
|
50
|
+
continue;
|
|
51
|
+
if (line.includes('FULL') || line.includes('2WAY')) {
|
|
52
|
+
routingAdjacenciesCount++;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch { }
|
|
57
|
+
try {
|
|
58
|
+
const pingOut = await session.execute('ping 192.168.1.254');
|
|
59
|
+
if (pingOut.includes('!!!!!') || pingOut.includes('Success rate is 100 percent') || pingOut.includes('Success rate is 80 percent')) {
|
|
60
|
+
pingReachability = true;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch { }
|
|
64
|
+
return {
|
|
65
|
+
timestamp: new Date().toISOString(),
|
|
66
|
+
downInterfacesCount,
|
|
67
|
+
dynamicRoutesCount,
|
|
68
|
+
routingAdjacenciesCount,
|
|
69
|
+
pingReachability
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
static renderAuditReport(before, after) {
|
|
73
|
+
let out = '';
|
|
74
|
+
out += chalk_1.default.bold.cyan('\n┌────────────────────────────────────────────────────────┐\n');
|
|
75
|
+
out += chalk_1.default.bold.cyan('│') + chalk_1.default.bold.white(' NETWORK CHANGE WINDOW AUDIT REPORT ') + chalk_1.default.bold.cyan('│\n');
|
|
76
|
+
out += chalk_1.default.bold.cyan('├──────────────────────────┬──────────────┬──────────────┤\n');
|
|
77
|
+
out += chalk_1.default.bold.cyan('│') + chalk_1.default.bold.white(' METRIC ') + chalk_1.default.bold.cyan('│') + chalk_1.default.bold.white(' PRE-FLIGHT ') + chalk_1.default.bold.cyan('│') + chalk_1.default.bold.white(' POST-FLIGHT ') + chalk_1.default.bold.cyan('│\n');
|
|
78
|
+
out += chalk_1.default.bold.cyan('├──────────────────────────┼──────────────┼──────────────┤\n');
|
|
79
|
+
const pingPre = before.pingReachability ? chalk_1.default.green('REACHABLE ') : chalk_1.default.red('UNREACHABLE ');
|
|
80
|
+
const pingPost = after.pingReachability ? chalk_1.default.green('REACHABLE ') : chalk_1.default.red('UNREACHABLE ');
|
|
81
|
+
out += chalk_1.default.bold.cyan('│') + ` Gateway Reachability ` + chalk_1.default.bold.cyan('│') + ` ${pingPre} ` + chalk_1.default.bold.cyan('│') + ` ${pingPost} ` + chalk_1.default.bold.cyan('│\n');
|
|
82
|
+
const downPre = `${before.downInterfacesCount} down `.padEnd(12);
|
|
83
|
+
const downPost = `${after.downInterfacesCount} down `.padEnd(12);
|
|
84
|
+
out += chalk_1.default.bold.cyan('│') + ` Down Interfaces Count ` + chalk_1.default.bold.cyan('│') + ` ${downPre} ` + chalk_1.default.bold.cyan('│') + ` ${downPost} ` + chalk_1.default.bold.cyan('│\n');
|
|
85
|
+
const routesPre = `${before.dynamicRoutesCount} routes `.padEnd(12);
|
|
86
|
+
const routesPost = `${after.dynamicRoutesCount} routes `.padEnd(12);
|
|
87
|
+
out += chalk_1.default.bold.cyan('│') + ` Dynamic Routes (OSPF/BGP)` + chalk_1.default.bold.cyan('│') + ` ${routesPre} ` + chalk_1.default.bold.cyan('│') + ` ${routesPost} ` + chalk_1.default.bold.cyan('│\n');
|
|
88
|
+
const adjPre = `${before.routingAdjacenciesCount} peers `.padEnd(12);
|
|
89
|
+
const adjPost = `${after.routingAdjacenciesCount} peers `.padEnd(12);
|
|
90
|
+
out += chalk_1.default.bold.cyan('│') + ` Routing Adjacencies ` + chalk_1.default.bold.cyan('│') + ` ${adjPre} ` + chalk_1.default.bold.cyan('│') + ` ${adjPost} ` + chalk_1.default.bold.cyan('│\n');
|
|
91
|
+
out += chalk_1.default.bold.cyan('└──────────────────────────┴──────────────┴──────────────┘\n');
|
|
92
|
+
if (before.pingReachability && !after.pingReachability) {
|
|
93
|
+
out += chalk_1.default.bold.red('\n[!] WARNING: Network gateway reachability was LOST during this configuration window!\n');
|
|
94
|
+
}
|
|
95
|
+
else if (!before.pingReachability && after.pingReachability) {
|
|
96
|
+
out += chalk_1.default.bold.green('\n[+] SUCCESS: Network gateway reachability was RESTORED during this configuration window!\n');
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
out += chalk_1.default.bold.green('\n[+] Audit check: Network gateway reachability is stable.\n');
|
|
100
|
+
}
|
|
101
|
+
return out;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.NetworkAudit = NetworkAudit;
|
|
105
|
+
//# sourceMappingURL=NetworkAudit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkAudit.js","sourceRoot":"","sources":["../../../src/core/guardrails/NetworkAudit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PreExecutionValidator = void 0;
|
|
4
|
+
const utils_1 = require("../../shared/utils");
|
|
4
5
|
class PreExecutionValidator {
|
|
5
6
|
static validateCommand(command, deviceId, topology, currentInterfaceContext) {
|
|
6
7
|
const normalized = command.toLowerCase().trim();
|
|
@@ -19,9 +20,9 @@ class PreExecutionValidator {
|
|
|
19
20
|
};
|
|
20
21
|
}
|
|
21
22
|
const interfaceMatch = /^interface\s+([A-Za-z0-9\/\.\-]+)/i.exec(command.trim());
|
|
22
|
-
let targetedInterface = interfaceMatch ? interfaceMatch[1]
|
|
23
|
+
let targetedInterface = interfaceMatch ? (0, utils_1.normalizeInterfaceName)(interfaceMatch[1]) : null;
|
|
23
24
|
if (currentInterfaceContext && !targetedInterface) {
|
|
24
|
-
targetedInterface =
|
|
25
|
+
targetedInterface = (0, utils_1.normalizeInterfaceName)(currentInterfaceContext);
|
|
25
26
|
}
|
|
26
27
|
if (targetedInterface && normalized.includes('shutdown')) {
|
|
27
28
|
const connectedLink = topology.links.find(link => (link.localDeviceId.toLowerCase() === deviceId.toLowerCase() && link.localInterface.toLowerCase() === targetedInterface) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreExecutionValidator.js","sourceRoot":"","sources":["../../../src/core/guardrails/PreExecutionValidator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"PreExecutionValidator.js","sourceRoot":"","sources":["../../../src/core/guardrails/PreExecutionValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,13 @@ export interface StateDiffResult {
|
|
|
39
39
|
} | null;
|
|
40
40
|
}
|
|
41
41
|
export declare class StateDiff {
|
|
42
|
+
private static diffHistory;
|
|
43
|
+
static recordDiff(deviceId: string, diff: StateDiffResult): void;
|
|
44
|
+
static getDiffHistory(): Array<{
|
|
45
|
+
timestamp: string;
|
|
46
|
+
deviceId: string;
|
|
47
|
+
diff: StateDiffResult;
|
|
48
|
+
}>;
|
|
42
49
|
static diff(before: DeviceStateSnapshot, after: DeviceStateSnapshot): StateDiffResult;
|
|
43
50
|
/**
|
|
44
51
|
* Helper to render the diff output as a readable table/string.
|
|
@@ -6,6 +6,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.StateDiff = void 0;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
class StateDiff {
|
|
9
|
+
static diffHistory = [];
|
|
10
|
+
static recordDiff(deviceId, diff) {
|
|
11
|
+
this.diffHistory.push({
|
|
12
|
+
timestamp: new Date().toISOString(),
|
|
13
|
+
deviceId,
|
|
14
|
+
diff
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
static getDiffHistory() {
|
|
18
|
+
return this.diffHistory;
|
|
19
|
+
}
|
|
9
20
|
static diff(before, after) {
|
|
10
21
|
const result = {
|
|
11
22
|
modifiedInterfaces: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateDiff.js","sourceRoot":"","sources":["../../../src/core/rollback/StateDiff.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAsC1B,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"StateDiff.js","sourceRoot":"","sources":["../../../src/core/rollback/StateDiff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TopologyDiscovery = void 0;
|
|
4
|
+
const utils_1 = require("../../shared/utils");
|
|
4
5
|
class TopologyDiscovery {
|
|
5
6
|
static parseCdpNeighbors(localDeviceId, output) {
|
|
6
7
|
const links = [];
|
|
@@ -15,8 +16,8 @@ class TopologyDiscovery {
|
|
|
15
16
|
continue;
|
|
16
17
|
}
|
|
17
18
|
const remoteDeviceId = match[1];
|
|
18
|
-
const localInterface =
|
|
19
|
-
const remoteInterface =
|
|
19
|
+
const localInterface = (0, utils_1.normalizeInterfaceName)(match[2]);
|
|
20
|
+
const remoteInterface = (0, utils_1.normalizeInterfaceName)(match[3]);
|
|
20
21
|
links.push({
|
|
21
22
|
localDeviceId,
|
|
22
23
|
localInterface,
|
|
@@ -42,8 +43,8 @@ class TopologyDiscovery {
|
|
|
42
43
|
links.push({
|
|
43
44
|
localDeviceId,
|
|
44
45
|
remoteDeviceId: match[1],
|
|
45
|
-
localInterface: match[2],
|
|
46
|
-
remoteInterface: match[3],
|
|
46
|
+
localInterface: (0, utils_1.normalizeInterfaceName)(match[2]),
|
|
47
|
+
remoteInterface: (0, utils_1.normalizeInterfaceName)(match[3]),
|
|
47
48
|
protocol: 'lldp'
|
|
48
49
|
});
|
|
49
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopologyDiscovery.js","sourceRoot":"","sources":["../../../src/core/topology/TopologyDiscovery.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"TopologyDiscovery.js","sourceRoot":"","sources":["../../../src/core/topology/TopologyDiscovery.ts"],"names":[],"mappings":";;;AACA,8CAA4D;AAE5D,MAAa,iBAAiB;IACnB,MAAM,CAAC,iBAAiB,CAAC,aAAqB,EAAE,MAAc;QACjE,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnE,SAAS;YACb,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACrF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,SAAS;YACb,CAAC;YAED,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,cAAc,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,eAAe,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzD,KAAK,CAAC,IAAI,CAAC;gBACP,aAAa;gBACb,cAAc;gBACd,cAAc;gBACd,eAAe;gBACf,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;QACP,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,aAAqB,EAAE,MAAc;QAClE,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvF,SAAS;YACb,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,SAAS;YACb,CAAC;YAED,KAAK,CAAC,IAAI,CAAC;gBACP,aAAa;gBACb,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;gBACxB,cAAc,EAAE,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChD,eAAe,EAAE,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjD,QAAQ,EAAE,MAAM;aACnB,CAAC,CAAC;QACP,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA1DD,8CA0DC"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
const commander_1 = require("commander");
|
|
8
8
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
9
9
|
const chalk_1 = __importDefault(require("chalk"));
|
|
10
|
+
const readline_1 = __importDefault(require("readline"));
|
|
10
11
|
const MultiAgentCoordinator_1 = require("./core/agent/MultiAgentCoordinator");
|
|
11
12
|
const PlinkSerial_1 = require("./infrastructure/protocols/PlinkSerial");
|
|
12
13
|
const SshSession_1 = require("./infrastructure/protocols/SshSession");
|
|
@@ -19,9 +20,20 @@ const ui_1 = require("./cli/ui/ui");
|
|
|
19
20
|
const fs_1 = require("fs");
|
|
20
21
|
const path_1 = require("path");
|
|
21
22
|
const server_1 = require("./server");
|
|
23
|
+
const shell_simulator_1 = require("./server/shell-simulator");
|
|
24
|
+
const dashboard_1 = require("./server/dashboard");
|
|
22
25
|
const program = new commander_1.Command();
|
|
23
26
|
let activeCoordinator = null;
|
|
27
|
+
let liveDashboardServer = null;
|
|
24
28
|
const cleanup = async () => {
|
|
29
|
+
if (liveDashboardServer) {
|
|
30
|
+
try {
|
|
31
|
+
liveDashboardServer.close();
|
|
32
|
+
ui_1.logger.info('Live Visual Control Dashboard server closed.');
|
|
33
|
+
}
|
|
34
|
+
catch { }
|
|
35
|
+
liveDashboardServer = null;
|
|
36
|
+
}
|
|
25
37
|
if (activeCoordinator) {
|
|
26
38
|
ui_1.logger.info('Cleaning up active terminal connections and sub-processes...');
|
|
27
39
|
try {
|
|
@@ -98,10 +110,17 @@ program
|
|
|
98
110
|
.option('--no-ref-telemetry', 'Disable command-reference telemetry logs during startup')
|
|
99
111
|
.option('--non-interactive', 'Disable interactive human-in-the-loop prompts (automatically reject dangerous commands)')
|
|
100
112
|
.option('--rbac-role <role>', 'Role-based Access Control role (admin | read_only)', 'admin')
|
|
113
|
+
.option('--dashboard-port <port>', 'Port to host the live Visual Control Dashboard', '3000')
|
|
101
114
|
.option('-g, --goal <intent>', 'The execution goal for the agent to achieve')
|
|
102
115
|
.action(async (options) => {
|
|
103
116
|
let provider = options.provider;
|
|
104
117
|
let localType = options.localType;
|
|
118
|
+
if (localType) {
|
|
119
|
+
localType = localType.toLowerCase().trim();
|
|
120
|
+
if (localType === 'llmstudio') {
|
|
121
|
+
localType = 'lmstudio';
|
|
122
|
+
}
|
|
123
|
+
}
|
|
105
124
|
let apiKey = options.api_key || options.apiKey;
|
|
106
125
|
let model = options.model;
|
|
107
126
|
let endpoint = options.endpoint;
|
|
@@ -124,6 +143,7 @@ program
|
|
|
124
143
|
let refTelemetry = options.refTelemetry !== false;
|
|
125
144
|
let nonInteractive = options.nonInteractive === true;
|
|
126
145
|
let rbacRole = options.rbacRole || 'admin';
|
|
146
|
+
let dashboardPort = options.dashboardPort ? parseInt(options.dashboardPort, 10) : 3000;
|
|
127
147
|
if (nonInteractive) {
|
|
128
148
|
process.env.CISCOLLM_NON_INTERACTIVE = 'true';
|
|
129
149
|
}
|
|
@@ -677,6 +697,12 @@ program
|
|
|
677
697
|
ui_1.logger.info(`Initializing system link in [${provider.toUpperCase()}] mode using ${protocol.toUpperCase()}...`);
|
|
678
698
|
ui_1.logger.info(`Command reference policy: strict=${strictCommandRef ? 'on' : 'off'}, telemetry=${refTelemetry ? 'on' : 'off'}`);
|
|
679
699
|
activeCoordinator = new MultiAgentCoordinator_1.MultiAgentCoordinator();
|
|
700
|
+
try {
|
|
701
|
+
liveDashboardServer = (0, dashboard_1.startDashboardServer)(activeCoordinator, dashboardPort);
|
|
702
|
+
}
|
|
703
|
+
catch (e) {
|
|
704
|
+
ui_1.logger.warn(`Failed to auto-start live Visual Control Dashboard: ${e.message}`);
|
|
705
|
+
}
|
|
680
706
|
const netconfSessionOptions = {
|
|
681
707
|
username,
|
|
682
708
|
password,
|
|
@@ -814,5 +840,52 @@ program
|
|
|
814
840
|
const httpPort = parseInt(options.httpPort, 10);
|
|
815
841
|
(0, server_1.startSimulator)({ sshPort, telnetPort, httpPort });
|
|
816
842
|
});
|
|
843
|
+
program
|
|
844
|
+
.command('shell')
|
|
845
|
+
.description('Launch the interactive Cisco IOS mock shell simulator directly')
|
|
846
|
+
.action(() => {
|
|
847
|
+
const simulator = new shell_simulator_1.ShellSimulator();
|
|
848
|
+
console.clear();
|
|
849
|
+
console.log(chalk_1.default.bold.yellow('============================================================'));
|
|
850
|
+
console.log(chalk_1.default.bold.yellow(' Cisco IOS Interactive Mock Shell Simulator (v1.1.0)'));
|
|
851
|
+
console.log(chalk_1.default.bold.yellow('============================================================'));
|
|
852
|
+
const welcomeBanner = `\r\nCisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE4, RELEASE SOFTWARE (fc1)\r\nTechnical Support: http://www.cisco.com/techsupport\r\nCopyright (c) 1986-2013 by Cisco Systems, Inc.\r\nCompiled Wed 26-Jun-13 02:49 by prod_rel_team\r\n\r\n`;
|
|
853
|
+
console.log(welcomeBanner);
|
|
854
|
+
const rl = readline_1.default.createInterface({ input: process.stdin, output: process.stdout });
|
|
855
|
+
const promptUser = () => {
|
|
856
|
+
rl.question(simulator.getPrompt(), (line) => {
|
|
857
|
+
const cmd = line.trim();
|
|
858
|
+
if (cmd.toLowerCase() === 'exit' && simulator.mode === 'USER_EXEC') {
|
|
859
|
+
console.log('Connection closed by foreign host.');
|
|
860
|
+
rl.close();
|
|
861
|
+
return;
|
|
862
|
+
}
|
|
863
|
+
try {
|
|
864
|
+
const output = simulator.execute(cmd);
|
|
865
|
+
if (output) {
|
|
866
|
+
console.log(output);
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
catch (err) {
|
|
870
|
+
console.log(`% Error: ${err.message}`);
|
|
871
|
+
}
|
|
872
|
+
promptUser();
|
|
873
|
+
});
|
|
874
|
+
};
|
|
875
|
+
promptUser();
|
|
876
|
+
rl.on('close', () => {
|
|
877
|
+
process.exit(0);
|
|
878
|
+
});
|
|
879
|
+
});
|
|
880
|
+
program
|
|
881
|
+
.command('dashboard')
|
|
882
|
+
.description('Start the Visual Control Dashboard server standalone')
|
|
883
|
+
.option('--port <number>', 'Port for the dashboard server', '3000')
|
|
884
|
+
.action((options) => {
|
|
885
|
+
const port = parseInt(options.port, 10);
|
|
886
|
+
const coordinator = new MultiAgentCoordinator_1.MultiAgentCoordinator();
|
|
887
|
+
(0, dashboard_1.startDashboardServer)(coordinator, port);
|
|
888
|
+
console.log(chalk_1.default.yellow('Standalone mode: Visualizing historical records and active topology when connected.'));
|
|
889
|
+
});
|
|
817
890
|
program.parse(process.argv);
|
|
818
891
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|