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
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PluginManager = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const os_1 = require("os");
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const ui_1 = require("../../cli/ui/ui");
|
|
9
|
+
class PluginManager {
|
|
10
|
+
plugins = new Map();
|
|
11
|
+
static instance;
|
|
12
|
+
constructor() {
|
|
13
|
+
this.discoverPlugins();
|
|
14
|
+
}
|
|
15
|
+
static getInstance() {
|
|
16
|
+
if (!PluginManager.instance) {
|
|
17
|
+
PluginManager.instance = new PluginManager();
|
|
18
|
+
}
|
|
19
|
+
return PluginManager.instance;
|
|
20
|
+
}
|
|
21
|
+
discoverPlugins() {
|
|
22
|
+
const searchPaths = [
|
|
23
|
+
(0, path_1.join)((0, os_1.homedir)(), '.ciscollm', 'plugins'),
|
|
24
|
+
(0, path_1.join)(process.cwd(), 'plugins')
|
|
25
|
+
];
|
|
26
|
+
for (const basePath of searchPaths) {
|
|
27
|
+
if (!(0, fs_1.existsSync)(basePath))
|
|
28
|
+
continue;
|
|
29
|
+
try {
|
|
30
|
+
const entries = (0, fs_1.readdirSync)(basePath, { withFileTypes: true });
|
|
31
|
+
for (const entry of entries) {
|
|
32
|
+
if (entry.isDirectory()) {
|
|
33
|
+
const pluginDir = (0, path_1.join)(basePath, entry.name);
|
|
34
|
+
const manifestPath = (0, path_1.join)(pluginDir, 'plugin.json');
|
|
35
|
+
if ((0, fs_1.existsSync)(manifestPath)) {
|
|
36
|
+
try {
|
|
37
|
+
const manifestData = (0, fs_1.readFileSync)(manifestPath, 'utf8');
|
|
38
|
+
const manifest = JSON.parse(manifestData);
|
|
39
|
+
if (manifest.name && manifest.description && manifest.script && manifest.parameters) {
|
|
40
|
+
this.plugins.set(manifest.name, {
|
|
41
|
+
...manifest,
|
|
42
|
+
pluginDir
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
ui_1.logger.warn(`Invalid plugin.json in ${pluginDir}. Missing required fields.`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
ui_1.logger.warn(`Failed to parse plugin.json in ${pluginDir}: ${e.message}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
ui_1.logger.warn(`Failed to read plugin directory ${basePath}: ${e.message}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (this.plugins.size > 0) {
|
|
61
|
+
ui_1.logger.info(`Loaded ${this.plugins.size} plugin tool(s) automatically.`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
getDynamicTools() {
|
|
65
|
+
const tools = [];
|
|
66
|
+
for (const [name, def] of this.plugins.entries()) {
|
|
67
|
+
tools.push({
|
|
68
|
+
type: 'function',
|
|
69
|
+
function: {
|
|
70
|
+
name: def.name,
|
|
71
|
+
description: def.description,
|
|
72
|
+
parameters: def.parameters
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return tools;
|
|
77
|
+
}
|
|
78
|
+
hasPlugin(name) {
|
|
79
|
+
return this.plugins.has(name);
|
|
80
|
+
}
|
|
81
|
+
executePlugin(name, args) {
|
|
82
|
+
return new Promise((resolve) => {
|
|
83
|
+
const def = this.plugins.get(name);
|
|
84
|
+
if (!def) {
|
|
85
|
+
return resolve(`Error: Plugin ${name} not found.`);
|
|
86
|
+
}
|
|
87
|
+
const env = { ...process.env };
|
|
88
|
+
for (const [key, value] of Object.entries(args)) {
|
|
89
|
+
env[`CISCOLLM_ARG_${key.toUpperCase()}`] = String(value);
|
|
90
|
+
}
|
|
91
|
+
let argsJson = JSON.stringify(args).replace(/"/g, '\\"');
|
|
92
|
+
if (process.platform === 'win32') {
|
|
93
|
+
argsJson = argsJson.replace(/\\"/g, '""');
|
|
94
|
+
}
|
|
95
|
+
const command = `${def.script} "${argsJson}"`;
|
|
96
|
+
(0, child_process_1.exec)(command, { cwd: def.pluginDir, env }, (error, stdout, stderr) => {
|
|
97
|
+
if (error) {
|
|
98
|
+
resolve(`PLUGIN ERROR:\n${stderr || error.message}`);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
resolve(stdout || stderr || 'Plugin executed successfully with no output.');
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.PluginManager = PluginManager;
|
|
108
|
+
//# sourceMappingURL=PluginManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginManager.js","sourceRoot":"","sources":["../../../src/core/plugins/PluginManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,11 +15,9 @@ class TransactionManager {
|
|
|
15
15
|
async initializeBackup(session) {
|
|
16
16
|
const state = session.getState();
|
|
17
17
|
if (state.currentMode === 'USER_EXEC') {
|
|
18
|
-
console.log(chalk_1.default.cyan('❯ Elevating to privileged mode for backup...'));
|
|
19
18
|
await session.execute('enable');
|
|
20
19
|
}
|
|
21
20
|
try {
|
|
22
|
-
console.log(chalk_1.default.cyan('❯ Checking flash storage reachability...'));
|
|
23
21
|
const flashCheck = await session.execute('dir flash:');
|
|
24
22
|
if (flashCheck.includes('% Invalid') || flashCheck.includes('No such file') || flashCheck.includes('Error')) {
|
|
25
23
|
console.warn(chalk_1.default.yellow('[!] Flash storage is not accessible or not found. Skipping backup creation.'));
|
|
@@ -42,13 +40,11 @@ class TransactionManager {
|
|
|
42
40
|
return;
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
|
-
console.log(chalk_1.default.cyan('❯ Creating device running-config backup on flash...'));
|
|
46
43
|
const rawOutput = await session.execute(`copy running-config ${this.backupFilename}`);
|
|
47
44
|
if (rawOutput.includes('Destination filename') || rawOutput.includes('?')) {
|
|
48
45
|
const confirmOutput = await session.execute('');
|
|
49
46
|
if (confirmOutput.includes('copied') || confirmOutput.includes('OK')) {
|
|
50
47
|
this.backupCreated = true;
|
|
51
|
-
console.log(chalk_1.default.green('[+] Running configuration backup successfully created.'));
|
|
52
48
|
}
|
|
53
49
|
else {
|
|
54
50
|
console.warn(chalk_1.default.yellow('[!] Backup confirmation response did not confirm copy completion.'));
|
|
@@ -56,7 +52,6 @@ class TransactionManager {
|
|
|
56
52
|
}
|
|
57
53
|
else if (rawOutput.includes('copied') || rawOutput.includes('OK')) {
|
|
58
54
|
this.backupCreated = true;
|
|
59
|
-
console.log(chalk_1.default.green('[+] Running configuration backup successfully created.'));
|
|
60
55
|
}
|
|
61
56
|
else {
|
|
62
57
|
console.warn(chalk_1.default.yellow('[!] Failed to backup running-config. Flash may be missing or read-only.'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionManager.js","sourceRoot":"","sources":["../../../src/core/rollback/TransactionManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TransactionManager.js","sourceRoot":"","sources":["../../../src/core/rollback/TransactionManager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,24 +10,13 @@ const PlinkSerial_1 = require("./infrastructure/protocols/PlinkSerial");
|
|
|
10
10
|
const ui_1 = require("./cli/ui/ui");
|
|
11
11
|
const fs_1 = require("fs");
|
|
12
12
|
const path_1 = require("path");
|
|
13
|
-
// Import CLI command actions
|
|
14
13
|
const runCommand_1 = require("./cli/commands/runCommand");
|
|
15
14
|
const monitorCommand_1 = require("./cli/commands/monitorCommand");
|
|
16
15
|
const serverCommand_1 = require("./cli/commands/serverCommand");
|
|
17
|
-
const
|
|
18
|
-
const dashboardCommand_1 = require("./cli/commands/dashboardCommand");
|
|
16
|
+
const daemonCommand_1 = require("./cli/commands/daemonCommand");
|
|
19
17
|
const program = new commander_1.Command();
|
|
20
18
|
const coordinatorWrapper = { active: null };
|
|
21
|
-
const dashboardWrapper = { server: null };
|
|
22
19
|
const cleanup = async () => {
|
|
23
|
-
if (dashboardWrapper.server) {
|
|
24
|
-
try {
|
|
25
|
-
dashboardWrapper.server.close();
|
|
26
|
-
ui_1.logger.info('Live Visual Control Dashboard server closed.');
|
|
27
|
-
}
|
|
28
|
-
catch { }
|
|
29
|
-
dashboardWrapper.server = null;
|
|
30
|
-
}
|
|
31
20
|
if (coordinatorWrapper.active) {
|
|
32
21
|
ui_1.logger.info('Cleaning up active terminal connections and sub-processes...');
|
|
33
22
|
try {
|
|
@@ -78,56 +67,55 @@ program
|
|
|
78
67
|
.name('ciscollm')
|
|
79
68
|
.description('Autonomous Agent Interface managing local Cisco Hardware using LLM Tooling.')
|
|
80
69
|
.version(cliVersion);
|
|
81
|
-
|
|
70
|
+
function addConnectionOptions(cmd) {
|
|
71
|
+
return cmd
|
|
72
|
+
.option('--protocol <type>', 'Connection protocol (serial | ssh | telnet)', 'serial')
|
|
73
|
+
.option('--provider <type>', 'LLM provider mode (local | cloud)', 'local')
|
|
74
|
+
.option('--api-key <key>', 'API key for cloud provider (OpenRouter)')
|
|
75
|
+
.option('-c, --com <ports>', 'COM Port interface identifier(s), comma-separated (e.g. COM3 or COM3,COM4)')
|
|
76
|
+
.option('-b, --baud <rate>', 'Serial transmission baud rate constraint', '9600')
|
|
77
|
+
.option('--host <address>', 'Target IP address or hostname (comma-separated for multi-device)')
|
|
78
|
+
.option('--port <port>', 'Target connection port')
|
|
79
|
+
.option('-u, --username <name>', 'Device login username')
|
|
80
|
+
.option('-p, --password <pass>', 'Device login password')
|
|
81
|
+
.option('--env-password', 'Read device password from $CISCOLLM_PASS environment variable (safe for special chars)')
|
|
82
|
+
.option('--private-key <path>', 'SSH private key file path for protocols that support key-based auth')
|
|
83
|
+
.option('--passphrase <passphrase>', 'Passphrase for the SSH private key file')
|
|
84
|
+
.option('--local-type <type>', 'Local service type (ollama | lmstudio)')
|
|
85
|
+
.option('--model <name>', 'Model name for compilation')
|
|
86
|
+
.option('--endpoint <url>', 'Ollama/LM Studio/compatibility API server endpoint')
|
|
87
|
+
.option('--sessions <name>', 'Session name to save/load connection setup');
|
|
88
|
+
}
|
|
89
|
+
const runCmd = program
|
|
82
90
|
.command('run')
|
|
83
|
-
.description('Execute network configuration or optimization tasks on target Cisco hardware')
|
|
84
|
-
|
|
85
|
-
.option('--provider <type>', 'LLM provider mode (local | cloud)', 'local')
|
|
86
|
-
.option('--api-key <key>', 'API key for cloud provider (OpenRouter)')
|
|
87
|
-
.option('-c, --com <ports>', 'COM Port interface identifier(s), comma-separated (e.g. COM3 or COM3,COM4)')
|
|
88
|
-
.option('-b, --baud <rate>', 'Serial transmission baud rate constraint', '9600')
|
|
89
|
-
.option('--host <address>', 'Target IP address or hostname (comma-separated for multi-device)')
|
|
90
|
-
.option('--port <port>', 'Target connection port')
|
|
91
|
-
.option('-u, --username <name>', 'Device login username')
|
|
92
|
-
.option('-p, --password <pass>', 'Device login password')
|
|
93
|
-
.option('--env-password', 'Read device password from $CISCOLLM_PASS environment variable (safe for special chars)')
|
|
94
|
-
.option('--private-key <path>', 'SSH private key file path for protocols that support key-based auth')
|
|
95
|
-
.option('--passphrase <passphrase>', 'Passphrase for the SSH private key file')
|
|
96
|
-
.option('--local-type <type>', 'Local service type (ollama | lmstudio)')
|
|
97
|
-
.option('--model <name>', 'Model name for compilation')
|
|
98
|
-
.option('--endpoint <url>', 'Ollama/LM Studio/compatibility API server endpoint')
|
|
91
|
+
.description('Execute network configuration or optimization tasks on target Cisco hardware');
|
|
92
|
+
addConnectionOptions(runCmd)
|
|
99
93
|
.option('--strict-command-ref', 'Enable strict command validation against cf_command_ref.pdf index')
|
|
100
94
|
.option('--no-ref-telemetry', 'Disable command-reference telemetry logs during startup')
|
|
101
95
|
.option('--non-interactive', 'Disable interactive human-in-the-loop prompts (automatically reject dangerous commands)')
|
|
102
96
|
.option('--rbac-role <role>', 'Role-based Access Control role (admin | read_only)', 'admin')
|
|
103
|
-
.option('--
|
|
97
|
+
.option('--safe-mode', 'Enable Auto-Rollback safety (reload in 5) for configuration tasks')
|
|
104
98
|
.option('-g, --goal <intent>', 'The execution goal for the agent to achieve')
|
|
105
99
|
.action(async (options) => {
|
|
106
|
-
await (0, runCommand_1.runAction)(options, coordinatorWrapper,
|
|
100
|
+
await (0, runCommand_1.runAction)(options, coordinatorWrapper, cleanup);
|
|
107
101
|
});
|
|
108
|
-
program
|
|
102
|
+
const monitorCmd = program
|
|
109
103
|
.command('monitor')
|
|
110
|
-
.description('Start the Closed-Loop Auto-Diagnosis & Healing Monitor (AIOps)')
|
|
111
|
-
|
|
112
|
-
.option('--provider <type>', 'LLM provider mode (local | cloud)', 'local')
|
|
113
|
-
.option('--api-key <key>', 'API key for cloud provider (OpenRouter)')
|
|
114
|
-
.option('-c, --com <ports>', 'COM Port interface identifier(s), comma-separated (e.g. COM3 or COM3,COM4)')
|
|
115
|
-
.option('-b, --baud <rate>', 'Serial transmission baud rate constraint', '9600')
|
|
116
|
-
.option('--host <address>', 'Target IP address or hostname (comma-separated for multi-device)')
|
|
117
|
-
.option('--port <port>', 'Target connection port')
|
|
118
|
-
.option('-u, --username <name>', 'Device login username')
|
|
119
|
-
.option('-p, --password <pass>', 'Device login password')
|
|
120
|
-
.option('--env-password', 'Read device password from $CISCOLLM_PASS environment variable (safe for special chars)')
|
|
121
|
-
.option('--private-key <path>', 'SSH private key file path for protocols that support key-based auth')
|
|
122
|
-
.option('--passphrase <passphrase>', 'Passphrase for the SSH private key file')
|
|
123
|
-
.option('--local-type <type>', 'Local service type (ollama | lmstudio)')
|
|
124
|
-
.option('--model <name>', 'Model name for compilation')
|
|
125
|
-
.option('--endpoint <url>', 'Ollama/LM Studio/compatibility API server endpoint')
|
|
104
|
+
.description('Start the Closed-Loop Auto-Diagnosis & Healing Monitor (AIOps)');
|
|
105
|
+
addConnectionOptions(monitorCmd)
|
|
126
106
|
.option('--non-interactive', 'Enable completely autonomous, non-interactive healing')
|
|
127
107
|
.option('--min-confidence <confidence>', 'Minimum AI confidence threshold to apply remediation', '0.80')
|
|
128
108
|
.action(async (options) => {
|
|
129
109
|
await (0, monitorCommand_1.monitorAction)(options, coordinatorWrapper, cleanup);
|
|
130
110
|
});
|
|
111
|
+
const daemonCmd = program
|
|
112
|
+
.command('daemon')
|
|
113
|
+
.description('Start the Auto-Remediation Daemon to monitor the network continuously');
|
|
114
|
+
addConnectionOptions(daemonCmd)
|
|
115
|
+
.option('--webhook-url <url>', 'Webhook URL for auto-remediation alerts')
|
|
116
|
+
.action(async (options) => {
|
|
117
|
+
await (0, daemonCommand_1.daemonAction)(options, coordinatorWrapper, cleanup);
|
|
118
|
+
});
|
|
131
119
|
program
|
|
132
120
|
.command('server')
|
|
133
121
|
.description('Start the Cisco IOS Multi-Protocol Test Simulator (SSH, Telnet, and HTTP LLM Mock)')
|
|
@@ -137,18 +125,5 @@ program
|
|
|
137
125
|
.action((options) => {
|
|
138
126
|
(0, serverCommand_1.serverAction)(options);
|
|
139
127
|
});
|
|
140
|
-
program
|
|
141
|
-
.command('shell')
|
|
142
|
-
.description('Launch the interactive Cisco IOS mock shell simulator directly')
|
|
143
|
-
.action(() => {
|
|
144
|
-
(0, shellCommand_1.shellAction)();
|
|
145
|
-
});
|
|
146
|
-
program
|
|
147
|
-
.command('dashboard')
|
|
148
|
-
.description('Start the Visual Control Dashboard server standalone')
|
|
149
|
-
.option('--port <number>', 'Port for the dashboard server', '3000')
|
|
150
|
-
.action((options) => {
|
|
151
|
-
(0, dashboardCommand_1.dashboardAction)(options);
|
|
152
|
-
});
|
|
153
128
|
program.parse(process.argv);
|
|
154
129
|
//# 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":";;;;;;AACA,yCAAoC;AACpC,kDAA0B;AAE1B,wEAA4E;AAC5E,oCAAqC;AACrC,2BAAkC;AAClC,+BAA4B;AAE5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export declare class LLMClient {
|
|
|
13
13
|
reasoning?: string;
|
|
14
14
|
}) => void): Promise<ChatMessage>;
|
|
15
15
|
private estimatePromptTokens;
|
|
16
|
+
private isHallucinating;
|
|
16
17
|
private estimateCompletionTokens;
|
|
17
18
|
private generateCompletionStandard;
|
|
18
19
|
private generateCompletionStream;
|
|
@@ -98,6 +98,16 @@ class LLMClient {
|
|
|
98
98
|
}
|
|
99
99
|
return Math.ceil(text.length / 3.8);
|
|
100
100
|
}
|
|
101
|
+
isHallucinating(text) {
|
|
102
|
+
const lines = text.split(/\r?\n/).map(l => l.trim()).filter(l => l.length > 5);
|
|
103
|
+
if (lines.length >= 4) {
|
|
104
|
+
const last = lines[lines.length - 1];
|
|
105
|
+
if (lines[lines.length - 2] === last && lines[lines.length - 3] === last) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
101
111
|
estimateCompletionTokens(message) {
|
|
102
112
|
let text = message.content || '';
|
|
103
113
|
if (message.reasoning_content) {
|
|
@@ -171,8 +181,11 @@ class LLMClient {
|
|
|
171
181
|
let fullReasoning = '';
|
|
172
182
|
const toolCallsAccumulator = [];
|
|
173
183
|
let streamUsage = undefined;
|
|
184
|
+
let isAborted = false;
|
|
174
185
|
return new Promise((resolve, reject) => {
|
|
175
186
|
stream.on('data', (chunk) => {
|
|
187
|
+
if (isAborted)
|
|
188
|
+
return;
|
|
176
189
|
buffer += decoder.write(chunk);
|
|
177
190
|
const lines = buffer.split('\n');
|
|
178
191
|
buffer = lines.pop() || '';
|
|
@@ -208,6 +221,25 @@ class LLMClient {
|
|
|
208
221
|
if (contentChunk || reasoningChunk) {
|
|
209
222
|
onChunk({ content: contentChunk, reasoning: reasoningChunk });
|
|
210
223
|
}
|
|
224
|
+
if (toolCallsAccumulator.length === 0 && this.isHallucinating(fullReasoning + fullContent)) {
|
|
225
|
+
isAborted = true;
|
|
226
|
+
stream.destroy();
|
|
227
|
+
const duration_ms = Math.max(1, Date.now() - startTime);
|
|
228
|
+
const err = new Error('LLM_HALLUCINATION_LOOP');
|
|
229
|
+
err.partialMessage = {
|
|
230
|
+
role: 'assistant',
|
|
231
|
+
content: fullContent,
|
|
232
|
+
reasoning_content: fullReasoning,
|
|
233
|
+
usage: {
|
|
234
|
+
prompt_tokens: this.estimatePromptTokens(messages),
|
|
235
|
+
completion_tokens: this.estimateCompletionTokens({ role: 'assistant', content: fullContent, reasoning_content: fullReasoning }),
|
|
236
|
+
total_tokens: 0,
|
|
237
|
+
duration_ms: duration_ms,
|
|
238
|
+
tok_sec: 0
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
return reject(err);
|
|
242
|
+
}
|
|
211
243
|
if (delta.tool_calls) {
|
|
212
244
|
for (const tc of delta.tool_calls) {
|
|
213
245
|
const idx = tc.index ?? 0;
|
|
@@ -343,13 +375,11 @@ class LLMClient {
|
|
|
343
375
|
return;
|
|
344
376
|
const args = {};
|
|
345
377
|
let toolName = 'execute_ios_command';
|
|
346
|
-
// 1. Try to find a JSON block in markdown
|
|
347
378
|
const jsonBlockRegex = /```json\s*([\s\S]*?)\s*```/i;
|
|
348
379
|
const jsonMatch = jsonBlockRegex.exec(content) || /(\{[\s\S]*?\})/.exec(content);
|
|
349
380
|
if (jsonMatch) {
|
|
350
381
|
try {
|
|
351
382
|
const parsed = JSON.parse(jsonMatch[1].trim());
|
|
352
|
-
// Check if it's formatted as standard OpenAI tool call
|
|
353
383
|
if (parsed.function && typeof parsed.function === 'object') {
|
|
354
384
|
const funcName = parsed.function.name;
|
|
355
385
|
const funcArgs = typeof parsed.function.arguments === 'string'
|
|
@@ -367,7 +397,6 @@ class LLMClient {
|
|
|
367
397
|
return;
|
|
368
398
|
}
|
|
369
399
|
}
|
|
370
|
-
// Or if it's a direct dictionary of parameters
|
|
371
400
|
if (parsed.command) {
|
|
372
401
|
args.command = parsed.command;
|
|
373
402
|
if (parsed.device)
|
|
@@ -408,7 +437,6 @@ class LLMClient {
|
|
|
408
437
|
args.device = parsed.device;
|
|
409
438
|
toolName = 'define_shell_function';
|
|
410
439
|
}
|
|
411
|
-
// If we extracted args from direct JSON
|
|
412
440
|
if (Object.keys(args).length > 0) {
|
|
413
441
|
message.tool_calls = [{
|
|
414
442
|
id: `parsed_${Math.random().toString(36).substring(2, 11)}`,
|
|
@@ -422,10 +450,8 @@ class LLMClient {
|
|
|
422
450
|
}
|
|
423
451
|
}
|
|
424
452
|
catch (e) {
|
|
425
|
-
// Ignore JSON parsing errors and proceed to XML/Parameter parsing fallback
|
|
426
453
|
}
|
|
427
454
|
}
|
|
428
|
-
// 2. Try XML parameter-based parsing
|
|
429
455
|
const paramRegex = /<parameter=(\w+)>\s*([\s\S]*?)\s*<\/parameter>/g;
|
|
430
456
|
let match;
|
|
431
457
|
while ((match = paramRegex.exec(content)) !== null) {
|
|
@@ -433,7 +459,6 @@ class LLMClient {
|
|
|
433
459
|
const val = match[2].trim();
|
|
434
460
|
args[key] = val;
|
|
435
461
|
}
|
|
436
|
-
// Try direct XML tags like <execute_ios_command>show ip route</execute_ios_command>
|
|
437
462
|
const xmlCommandRegex = /<execute_ios_command>\s*([\s\S]*?)\s*<\/execute_ios_command>/i;
|
|
438
463
|
const xmlCommandMatch = xmlCommandRegex.exec(content);
|
|
439
464
|
if (xmlCommandMatch) {
|
|
@@ -571,9 +596,8 @@ class LLMClient {
|
|
|
571
596
|
const targetLower = this.modelName.toLowerCase();
|
|
572
597
|
const isLoaded = loadedModels.some(m => m.toLowerCase() === targetLower);
|
|
573
598
|
if (!isLoaded) {
|
|
574
|
-
const oldModel = this.modelName;
|
|
575
599
|
this.modelName = loadedModels[0];
|
|
576
|
-
console.log(chalk_1.default.blue(`❯ Dynamic Model Resolution: Auto-selected loaded model "${this.modelName}"
|
|
600
|
+
console.log(chalk_1.default.blue(`❯ Dynamic Model Resolution: Auto-selected loaded model "${this.modelName}"`));
|
|
577
601
|
}
|
|
578
602
|
}
|
|
579
603
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMClient.js","sourceRoot":"","sources":["../../../src/infrastructure/llm/LLMClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LLMClient.js","sourceRoot":"","sources":["../../../src/infrastructure/llm/LLMClient.ts"],"names":[],"mappings":"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"}
|