ciscollm-cli 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +147 -78
  2. package/dist/cli/ui/ui.d.ts +1 -0
  3. package/dist/cli/ui/ui.js +19 -4
  4. package/dist/cli/ui/ui.js.map +1 -1
  5. package/dist/core/agent/AgentLoop.d.ts +6 -0
  6. package/dist/core/agent/AgentLoop.js +137 -15
  7. package/dist/core/agent/AgentLoop.js.map +1 -1
  8. package/dist/core/agent/CommandReferenceEngine.d.ts +2 -0
  9. package/dist/core/agent/CommandReferenceEngine.js +73 -4
  10. package/dist/core/agent/CommandReferenceEngine.js.map +1 -1
  11. package/dist/core/agent/HierarchicalAgentManager.d.ts +11 -0
  12. package/dist/core/agent/HierarchicalAgentManager.js +70 -0
  13. package/dist/core/agent/HierarchicalAgentManager.js.map +1 -0
  14. package/dist/core/agent/MultiAgentCoordinator.d.ts +5 -1
  15. package/dist/core/agent/MultiAgentCoordinator.js +55 -0
  16. package/dist/core/agent/MultiAgentCoordinator.js.map +1 -1
  17. package/dist/core/agent/PromptEngine.d.ts +1 -1
  18. package/dist/core/agent/PromptEngine.js +64 -48
  19. package/dist/core/agent/PromptEngine.js.map +1 -1
  20. package/dist/core/guardrails/AuditLogger.d.ts +15 -0
  21. package/dist/core/guardrails/AuditLogger.js +66 -0
  22. package/dist/core/guardrails/AuditLogger.js.map +1 -0
  23. package/dist/core/guardrails/CommandFirewall.js +24 -0
  24. package/dist/core/guardrails/CommandFirewall.js.map +1 -1
  25. package/dist/core/guardrails/PreExecutionValidator.d.ts +9 -0
  26. package/dist/core/guardrails/PreExecutionValidator.js +58 -0
  27. package/dist/core/guardrails/PreExecutionValidator.js.map +1 -0
  28. package/dist/core/rollback/StateDiff.d.ts +47 -0
  29. package/dist/core/rollback/StateDiff.js +121 -0
  30. package/dist/core/rollback/StateDiff.js.map +1 -0
  31. package/dist/core/rollback/TransactionManager.d.ts +2 -0
  32. package/dist/core/rollback/TransactionManager.js +113 -41
  33. package/dist/core/rollback/TransactionManager.js.map +1 -1
  34. package/dist/core/topology/TopologyDiscovery.d.ts +5 -0
  35. package/dist/core/topology/TopologyDiscovery.js +54 -0
  36. package/dist/core/topology/TopologyDiscovery.js.map +1 -0
  37. package/dist/index.js +95 -24
  38. package/dist/index.js.map +1 -1
  39. package/dist/infrastructure/llm/LLMClient.js +52 -2
  40. package/dist/infrastructure/llm/LLMClient.js.map +1 -1
  41. package/dist/infrastructure/protocols/BaseSession.js +1 -1
  42. package/dist/infrastructure/protocols/BaseSession.js.map +1 -1
  43. package/dist/infrastructure/protocols/CmlSession.d.ts +11 -0
  44. package/dist/infrastructure/protocols/CmlSession.js +60 -0
  45. package/dist/infrastructure/protocols/CmlSession.js.map +1 -0
  46. package/dist/infrastructure/protocols/MockSession.d.ts +33 -0
  47. package/dist/infrastructure/protocols/MockSession.js +427 -33
  48. package/dist/infrastructure/protocols/MockSession.js.map +1 -1
  49. package/dist/infrastructure/protocols/NetconfSession.d.ts +9 -0
  50. package/dist/infrastructure/protocols/NetconfSession.js +65 -0
  51. package/dist/infrastructure/protocols/NetconfSession.js.map +1 -0
  52. package/dist/infrastructure/protocols/PlinkSerial.js +107 -23
  53. package/dist/infrastructure/protocols/PlinkSerial.js.map +1 -1
  54. package/dist/shared/types.d.ts +12 -0
  55. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"MockSession.js","sourceRoot":"","sources":["../../../src/infrastructure/protocols/MockSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MockSession.js","sourceRoot":"","sources":["../../../src/infrastructure/protocols/MockSession.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { BaseSession } from './BaseSession';
2
+ export declare class NetconfSession extends BaseSession {
3
+ private host;
4
+ private port;
5
+ constructor(host: string, port?: number);
6
+ connect(): Promise<void>;
7
+ execute(xmlPayload: string): Promise<string>;
8
+ disconnect(): Promise<void>;
9
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NetconfSession = void 0;
4
+ const BaseSession_1 = require("./BaseSession");
5
+ class NetconfSession extends BaseSession_1.BaseSession {
6
+ host;
7
+ port;
8
+ constructor(host, port = 830) {
9
+ super();
10
+ this.host = host;
11
+ this.port = port;
12
+ this.state = {
13
+ currentMode: 'PRIVILEGED_EXEC',
14
+ hostname: `netconf-${host}`,
15
+ prompt: `NETCONF@${host}:${port}`
16
+ };
17
+ }
18
+ async connect() {
19
+ console.log(`[NetconfSession - ${this.host}]: Establishing SSH subsystem connection on port ${this.port}...`);
20
+ console.log(`[NetconfSession - ${this.host}]: Exchanging capabilities (<hello> message)...`);
21
+ return Promise.resolve();
22
+ }
23
+ async execute(xmlPayload) {
24
+ console.log(`[NetconfSession - ${this.host}]: Sending RPC request...`);
25
+ const cleanPayload = xmlPayload.trim();
26
+ if (cleanPayload.includes('<edit-config>')) {
27
+ console.log(`[NetconfSession]: RPC Request:\n${cleanPayload}`);
28
+ return `<?xml version="1.0" encoding="UTF-8"?>
29
+ <rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
30
+ <ok/>
31
+ </rpc-reply>`;
32
+ }
33
+ if (cleanPayload.includes('<get-config>')) {
34
+ return `<?xml version="1.0" encoding="UTF-8"?>
35
+ <rpc-reply message-id="102" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
36
+ <data>
37
+ <native xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-native">
38
+ <hostname>${this.state.hostname}</hostname>
39
+ <interface>
40
+ <GigabitEthernet>
41
+ <name>1</name>
42
+ <ip>
43
+ <address>
44
+ <primary>
45
+ <address>10.0.0.1</address>
46
+ <mask>255.255.255.0</mask>
47
+ </primary>
48
+ </address>
49
+ </ip>
50
+ </GigabitEthernet>
51
+ </interface>
52
+ </native>
53
+ </data>
54
+ </rpc-reply>`;
55
+ }
56
+ console.warn(`[NetconfSession Warning]: XML payload not recognized. Parsing command: "${xmlPayload}"`);
57
+ return `<rpc-reply message-id="999"><ok/></rpc-reply>`;
58
+ }
59
+ async disconnect() {
60
+ console.log(`[NetconfSession - ${this.host}]: Session cleanly closed.`);
61
+ return Promise.resolve();
62
+ }
63
+ }
64
+ exports.NetconfSession = NetconfSession;
65
+ //# sourceMappingURL=NetconfSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetconfSession.js","sourceRoot":"","sources":["../../../src/infrastructure/protocols/NetconfSession.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,MAAa,cAAe,SAAQ,yBAAW;IACvB;IAAsB;IAA1C,YAAoB,IAAY,EAAU,OAAe,GAAG;QACxD,KAAK,EAAE,CAAC;QADQ,SAAI,GAAJ,IAAI,CAAQ;QAAU,SAAI,GAAJ,IAAI,CAAc;QAExD,IAAI,CAAC,KAAK,GAAG;YACT,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,WAAW,IAAI,EAAE;YAC3B,MAAM,EAAE,WAAW,IAAI,IAAI,IAAI,EAAE;SACpC,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,IAAI,oDAAoD,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;QAC9G,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,IAAI,iDAAiD,CAAC,CAAC;QAC7F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,UAAkB;QACnC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,IAAI,2BAA2B,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAGvC,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,mCAAmC,YAAY,EAAE,CAAC,CAAC;YAE/D,OAAO;;;aAGN,CAAC;QACN,CAAC;QAED,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,OAAO;;;;kBAID,IAAI,CAAC,KAAK,CAAC,QAAQ;;;;;;;;;;;;;;;;aAgBxB,CAAC;QACN,CAAC;QAGD,OAAO,CAAC,IAAI,CAAC,2EAA2E,UAAU,GAAG,CAAC,CAAC;QACvG,OAAO,+CAA+C,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AA/DD,wCA+DC"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -9,6 +42,8 @@ const BaseSession_1 = require("./BaseSession");
9
42
  const events_1 = require("events");
10
43
  const constants_1 = require("../../shared/constants");
11
44
  const chalk_1 = __importDefault(require("chalk"));
45
+ const path = __importStar(require("path"));
46
+ const fs = __importStar(require("fs"));
12
47
  class PlinkSerialSession extends BaseSession_1.BaseSession {
13
48
  comPort;
14
49
  baudRate;
@@ -22,25 +57,50 @@ class PlinkSerialSession extends BaseSession_1.BaseSession {
22
57
  }
23
58
  async connect() {
24
59
  return new Promise((resolve, reject) => {
25
- const args = ['-serial', this.comPort, '-sercfg', `${this.baudRate},8,n,1,N`];
26
- console.log(chalk_1.default.dim(`[PlinkSerial]: Spawning plink.exe with serial port ${this.comPort}...`));
27
- this.process = (0, child_process_1.spawn)('plink.exe', args);
60
+ const args = ['-batch', '-serial', this.comPort, '-sercfg', `${this.baudRate},8,n,1,N`];
61
+ let plinkPath = 'plink.exe';
62
+ const localCwdPath = path.resolve(process.cwd(), 'plink.exe');
63
+ const projectRootPath = path.resolve(__dirname, '..', '..', '..', 'plink.exe');
64
+ const nextToExecPath = path.resolve(__dirname, 'plink.exe');
65
+ if (fs.existsSync(localCwdPath)) {
66
+ plinkPath = localCwdPath;
67
+ }
68
+ else if (fs.existsSync(projectRootPath)) {
69
+ plinkPath = projectRootPath;
70
+ }
71
+ else if (fs.existsSync(nextToExecPath)) {
72
+ plinkPath = nextToExecPath;
73
+ }
74
+ console.log(chalk_1.default.dim(`[PlinkSerial]: Spawning plink process at ${plinkPath} with serial port ${this.comPort}...`));
75
+ this.process = (0, child_process_1.spawn)(plinkPath, args);
28
76
  this.process.stdin.setDefaultEncoding('utf-8');
77
+ let finished = false;
78
+ const cleanupAndReject = async (errMessage) => {
79
+ if (finished)
80
+ return;
81
+ finished = true;
82
+ clearTimeout(connectTimer);
83
+ const available = await PlinkSerialSession.listAvailableComPorts();
84
+ const portMsg = available.length > 0
85
+ ? `Active COM ports detected: ${available.join(', ')}`
86
+ : 'No active COM ports detected on the system.';
87
+ reject(new Error(`${errMessage}. ${portMsg}`));
88
+ };
89
+ this.process.stdin.on('error', (err) => {
90
+ console.error(chalk_1.default.dim(`[PlinkSerial Stdin Error]: ${err.message}`));
91
+ });
29
92
  this.process.stdout.on('data', (data) => this.handleData(data));
30
93
  this.process.stderr.on('data', (data) => {
31
94
  console.error(chalk_1.default.dim(`[Plink Stderr]: ${data.toString()}`));
32
95
  });
33
96
  this.process.on('error', async (err) => {
34
- const available = await PlinkSerialSession.listAvailableComPorts();
35
- const portMsg = available.length > 0
36
- ? `Active COM ports detected: ${available.join(', ')}`
37
- : 'No active COM ports detected on the system.';
38
- reject(new Error(`Failed to start plink process: ${err.message}. ${portMsg}`));
97
+ await cleanupAndReject(`Failed to start plink process: ${err.message}`);
39
98
  });
40
- this.process.on('close', (code) => {
99
+ this.process.on('close', async (code) => {
41
100
  console.log(chalk_1.default.dim(`[PlinkSerial]: plink process closed with code ${code}`));
101
+ await cleanupAndReject(`plink process exited prematurely with code ${code}`);
42
102
  });
43
- setTimeout(async () => {
103
+ const connectTimer = setTimeout(async () => {
44
104
  try {
45
105
  const match = constants_1.PROMPT_REGEX.exec(this.buffer);
46
106
  if (match) {
@@ -49,22 +109,19 @@ class PlinkSerialSession extends BaseSession_1.BaseSession {
49
109
  await this.execute('terminal length 0').catch(err => {
50
110
  console.warn(chalk_1.default.dim(`[PlinkSerial Warning]: Failed to set terminal length 0: ${err.message}`));
51
111
  });
112
+ finished = true;
113
+ this.process?.removeAllListeners('close');
114
+ this.process?.on('close', (code) => {
115
+ console.log(chalk_1.default.dim(`[PlinkSerial]: plink process closed with code ${code}`));
116
+ });
52
117
  resolve();
53
118
  }
54
119
  else {
55
- const available = await PlinkSerialSession.listAvailableComPorts();
56
- const portMsg = available.length > 0
57
- ? `Active COM ports detected: ${available.join(', ')}`
58
- : 'No active COM ports detected on the system.';
59
- reject(new Error(`Failed to sync serial prompt on ${this.comPort}. ${portMsg}`));
120
+ await cleanupAndReject(`Failed to sync serial prompt on ${this.comPort}`);
60
121
  }
61
122
  }
62
123
  catch (e) {
63
- const available = await PlinkSerialSession.listAvailableComPorts();
64
- const portMsg = available.length > 0
65
- ? `Active COM ports detected: ${available.join(', ')}`
66
- : 'No active COM ports detected on the system.';
67
- reject(new Error(`Connection synchronization failed: ${e.message}. ${portMsg}`));
124
+ await cleanupAndReject(`Connection synchronization failed: ${e.message}`);
68
125
  }
69
126
  }, 3000);
70
127
  });
@@ -101,7 +158,26 @@ class PlinkSerialSession extends BaseSession_1.BaseSession {
101
158
  resolve(fullOutput);
102
159
  }
103
160
  });
104
- proc.stdin.write(`${command}\r\n`);
161
+ if (!proc.stdin || !proc.stdin.writable) {
162
+ clearTimeout(timeout);
163
+ this.eventEmitter.removeAllListeners('stream_updated');
164
+ reject(new Error('Process stdin is not writable. Connection might be closed.'));
165
+ return;
166
+ }
167
+ try {
168
+ proc.stdin.write(`${command}\r\n`, (err) => {
169
+ if (err) {
170
+ clearTimeout(timeout);
171
+ this.eventEmitter.removeAllListeners('stream_updated');
172
+ reject(new Error(`Failed to write command to stdin: ${err.message}`));
173
+ }
174
+ });
175
+ }
176
+ catch (writeErr) {
177
+ clearTimeout(timeout);
178
+ this.eventEmitter.removeAllListeners('stream_updated');
179
+ reject(new Error(`Exception writing to process stdin: ${writeErr.message}`));
180
+ }
105
181
  });
106
182
  }
107
183
  async disconnect() {
@@ -117,12 +193,20 @@ class PlinkSerialSession extends BaseSession_1.BaseSession {
117
193
  static async listAvailableComPorts() {
118
194
  return new Promise((resolve) => {
119
195
  const { exec } = require('child_process');
120
- exec('powershell -Command "[System.IO.Ports.SerialPort]::GetPortNames()"', (error, stdout) => {
196
+ const cmd = 'powershell -Command "Get-CimInstance Win32_PnPEntity | Where-Object { $_.Caption -match \'USB.*Serial|USB-to-Serial|Prolific|CH340|FTDI|Silicon Labs|CP210\' } | Select-Object -ExpandProperty Caption"';
197
+ exec(cmd, (error, stdout) => {
121
198
  if (error) {
122
199
  resolve([]);
123
200
  return;
124
201
  }
125
- const ports = stdout.split(/\r?\n/).map(p => p.trim()).filter(p => p.length > 0);
202
+ const ports = [];
203
+ const lines = stdout.split(/\r?\n/).map(l => l.trim()).filter(l => l.length > 0);
204
+ for (const line of lines) {
205
+ const match = /\((COM\d+)\)/i.exec(line);
206
+ if (match) {
207
+ ports.push(match[1]);
208
+ }
209
+ }
126
210
  resolve(ports);
127
211
  });
128
212
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PlinkSerial.js","sourceRoot":"","sources":["../../../src/infrastructure/protocols/PlinkSerial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlinkSerial.js","sourceRoot":"","sources":["../../../src/infrastructure/protocols/PlinkSerial.ts"],"names":[],"mappings":"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"}
@@ -20,3 +20,15 @@ export interface ToolCall {
20
20
  arguments: string;
21
21
  };
22
22
  }
23
+ export interface TopologyLink {
24
+ localDeviceId: string;
25
+ localInterface: string;
26
+ remoteDeviceId: string;
27
+ remoteInterface: string;
28
+ protocol: 'cdp' | 'lldp';
29
+ }
30
+ export interface NetworkTopology {
31
+ discoveredAt: string;
32
+ nodes: string[];
33
+ links: TopologyLink[];
34
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ciscollm-cli",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Cisco IOS automation agent CLI with mock simulation, guardrails, and LLM tool-calling support.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -15,7 +15,7 @@
15
15
  "license": "MIT",
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "https://github.com/ThemeHackers/ciscollm-cli.git"
18
+ "url": "git+https://github.com/ThemeHackers/ciscollm-cli.git"
19
19
  },
20
20
  "bugs": {
21
21
  "url": "https://github.com/ThemeHackers/ciscollm-cli/issues"