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.
- package/README.md +147 -78
- package/dist/cli/ui/ui.d.ts +1 -0
- package/dist/cli/ui/ui.js +19 -4
- package/dist/cli/ui/ui.js.map +1 -1
- package/dist/core/agent/AgentLoop.d.ts +6 -0
- package/dist/core/agent/AgentLoop.js +137 -15
- package/dist/core/agent/AgentLoop.js.map +1 -1
- package/dist/core/agent/CommandReferenceEngine.d.ts +2 -0
- package/dist/core/agent/CommandReferenceEngine.js +73 -4
- package/dist/core/agent/CommandReferenceEngine.js.map +1 -1
- package/dist/core/agent/HierarchicalAgentManager.d.ts +11 -0
- package/dist/core/agent/HierarchicalAgentManager.js +70 -0
- package/dist/core/agent/HierarchicalAgentManager.js.map +1 -0
- package/dist/core/agent/MultiAgentCoordinator.d.ts +5 -1
- package/dist/core/agent/MultiAgentCoordinator.js +55 -0
- package/dist/core/agent/MultiAgentCoordinator.js.map +1 -1
- package/dist/core/agent/PromptEngine.d.ts +1 -1
- package/dist/core/agent/PromptEngine.js +64 -48
- package/dist/core/agent/PromptEngine.js.map +1 -1
- package/dist/core/guardrails/AuditLogger.d.ts +15 -0
- package/dist/core/guardrails/AuditLogger.js +66 -0
- package/dist/core/guardrails/AuditLogger.js.map +1 -0
- package/dist/core/guardrails/CommandFirewall.js +24 -0
- package/dist/core/guardrails/CommandFirewall.js.map +1 -1
- package/dist/core/guardrails/PreExecutionValidator.d.ts +9 -0
- package/dist/core/guardrails/PreExecutionValidator.js +58 -0
- package/dist/core/guardrails/PreExecutionValidator.js.map +1 -0
- package/dist/core/rollback/StateDiff.d.ts +47 -0
- package/dist/core/rollback/StateDiff.js +121 -0
- package/dist/core/rollback/StateDiff.js.map +1 -0
- package/dist/core/rollback/TransactionManager.d.ts +2 -0
- package/dist/core/rollback/TransactionManager.js +113 -41
- package/dist/core/rollback/TransactionManager.js.map +1 -1
- package/dist/core/topology/TopologyDiscovery.d.ts +5 -0
- package/dist/core/topology/TopologyDiscovery.js +54 -0
- package/dist/core/topology/TopologyDiscovery.js.map +1 -0
- package/dist/index.js +95 -24
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/llm/LLMClient.js +52 -2
- package/dist/infrastructure/llm/LLMClient.js.map +1 -1
- package/dist/infrastructure/protocols/BaseSession.js +1 -1
- package/dist/infrastructure/protocols/BaseSession.js.map +1 -1
- package/dist/infrastructure/protocols/CmlSession.d.ts +11 -0
- package/dist/infrastructure/protocols/CmlSession.js +60 -0
- package/dist/infrastructure/protocols/CmlSession.js.map +1 -0
- package/dist/infrastructure/protocols/MockSession.d.ts +33 -0
- package/dist/infrastructure/protocols/MockSession.js +427 -33
- package/dist/infrastructure/protocols/MockSession.js.map +1 -1
- package/dist/infrastructure/protocols/NetconfSession.d.ts +9 -0
- package/dist/infrastructure/protocols/NetconfSession.js +65 -0
- package/dist/infrastructure/protocols/NetconfSession.js.map +1 -0
- package/dist/infrastructure/protocols/PlinkSerial.js +107 -23
- package/dist/infrastructure/protocols/PlinkSerial.js.map +1 -1
- package/dist/shared/types.d.ts +12 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionManager.js","sourceRoot":"","sources":["../../../src/core/rollback/TransactionManager.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IACnB,eAAe,GAAa,EAAE,CAAC;IAC/B,eAAe,GAAkB,IAAI,CAAC;IACtC,aAAa,GAAG,KAAK,CAAC;IACb,cAAc,GAAG,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"TransactionManager.js","sourceRoot":"","sources":["../../../src/core/rollback/TransactionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TopologyDiscovery = void 0;
|
|
4
|
+
class TopologyDiscovery {
|
|
5
|
+
static parseCdpNeighbors(localDeviceId, output) {
|
|
6
|
+
const links = [];
|
|
7
|
+
const lines = output.split(/\r?\n/);
|
|
8
|
+
for (const line of lines) {
|
|
9
|
+
const trimmed = line.trim();
|
|
10
|
+
if (!trimmed || /^Device\s+ID/i.test(trimmed) || /^-+/.test(trimmed)) {
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
const match = trimmed.match(/^(\S+)\s+(\S+\s+\S+)\s+\d+\s+\S+\s+\S+\s+(\S+\s+\S+)$/);
|
|
14
|
+
if (!match) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const remoteDeviceId = match[1];
|
|
18
|
+
const localInterface = match[2].replace(/\s+/g, ' ').trim();
|
|
19
|
+
const remoteInterface = match[3].replace(/\s+/g, ' ').trim();
|
|
20
|
+
links.push({
|
|
21
|
+
localDeviceId,
|
|
22
|
+
localInterface,
|
|
23
|
+
remoteDeviceId,
|
|
24
|
+
remoteInterface,
|
|
25
|
+
protocol: 'cdp'
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return links;
|
|
29
|
+
}
|
|
30
|
+
static parseLldpNeighbors(localDeviceId, output) {
|
|
31
|
+
const links = [];
|
|
32
|
+
const lines = output.split(/\r?\n/);
|
|
33
|
+
for (const line of lines) {
|
|
34
|
+
const trimmed = line.trim();
|
|
35
|
+
if (!trimmed || /^Device ID/i.test(trimmed) || /^Total entries displayed/i.test(trimmed)) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const match = trimmed.match(/^(\S+)\s+(\S+)\s+\d+\s+\S+\s+(\S+)$/);
|
|
39
|
+
if (!match) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
links.push({
|
|
43
|
+
localDeviceId,
|
|
44
|
+
remoteDeviceId: match[1],
|
|
45
|
+
localInterface: match[2],
|
|
46
|
+
remoteInterface: match[3],
|
|
47
|
+
protocol: 'lldp'
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return links;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.TopologyDiscovery = TopologyDiscovery;
|
|
54
|
+
//# sourceMappingURL=TopologyDiscovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopologyDiscovery.js","sourceRoot":"","sources":["../../../src/core/topology/TopologyDiscovery.ts"],"names":[],"mappings":";;;AAEA,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,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAE7D,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,KAAK,CAAC,CAAC,CAAC;gBACxB,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;gBACzB,QAAQ,EAAE,MAAM;aACnB,CAAC,CAAC;QACP,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA1DD,8CA0DC"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,8 @@ const TelnetSession_1 = require("./infrastructure/protocols/TelnetSession");
|
|
|
14
14
|
const LLMClient_1 = require("./infrastructure/llm/LLMClient");
|
|
15
15
|
const AgentLoop_1 = require("./core/agent/AgentLoop");
|
|
16
16
|
const MockSession_1 = require("./infrastructure/protocols/MockSession");
|
|
17
|
+
const NetconfSession_1 = require("./infrastructure/protocols/NetconfSession");
|
|
18
|
+
const CmlSession_1 = require("./infrastructure/protocols/CmlSession");
|
|
17
19
|
const ui_1 = require("./cli/ui/ui");
|
|
18
20
|
const program = new commander_1.Command();
|
|
19
21
|
let activeCoordinator = null;
|
|
@@ -64,7 +66,7 @@ program
|
|
|
64
66
|
program
|
|
65
67
|
.command('run')
|
|
66
68
|
.description('Execute network configuration or optimization tasks on target Cisco hardware')
|
|
67
|
-
.option('--protocol <type>', 'Connection protocol (serial | ssh | telnet | mock)', 'serial')
|
|
69
|
+
.option('--protocol <type>', 'Connection protocol (serial | ssh | telnet | mock | netconf | cml)', 'serial')
|
|
68
70
|
.option('--provider <type>', 'LLM provider mode (local | cloud)', 'local')
|
|
69
71
|
.option('--api-key <key>', 'API key for cloud provider (OpenRouter)')
|
|
70
72
|
.option('-c, --com <ports>', 'COM Port interface identifier(s), comma-separated (e.g. COM3 or COM3,COM4)')
|
|
@@ -78,6 +80,8 @@ program
|
|
|
78
80
|
.option('--endpoint <url>', 'Ollama/compatibility API server endpoint')
|
|
79
81
|
.option('--strict-command-ref', 'Enable strict command validation against cf_command_ref.pdf index')
|
|
80
82
|
.option('--no-ref-telemetry', 'Disable command-reference telemetry logs during startup')
|
|
83
|
+
.option('--non-interactive', 'Disable interactive human-in-the-loop prompts (automatically reject dangerous commands)')
|
|
84
|
+
.option('--rbac-role <role>', 'Role-based Access Control role (admin | read_only)', 'admin')
|
|
81
85
|
.option('-g, --goal <intent>', 'The execution goal for the agent to achieve')
|
|
82
86
|
.action(async (options) => {
|
|
83
87
|
let provider = options.provider;
|
|
@@ -95,6 +99,11 @@ program
|
|
|
95
99
|
let goal = options.goal;
|
|
96
100
|
let strictCommandRef = options.strictCommandRef === true;
|
|
97
101
|
let refTelemetry = options.refTelemetry !== false;
|
|
102
|
+
let nonInteractive = options.nonInteractive === true;
|
|
103
|
+
let rbacRole = options.rbacRole || 'admin';
|
|
104
|
+
if (nonInteractive) {
|
|
105
|
+
process.env.CISCOLLM_NON_INTERACTIVE = 'true';
|
|
106
|
+
}
|
|
98
107
|
if (!goal) {
|
|
99
108
|
ui_1.logger.heading('Cisco LLM Agent Interactive Setup Wizard');
|
|
100
109
|
const detectedComs = await PlinkSerial_1.PlinkSerialSession.listAvailableComPorts();
|
|
@@ -192,7 +201,7 @@ program
|
|
|
192
201
|
type: 'input',
|
|
193
202
|
name: 'apiKey',
|
|
194
203
|
message: 'Enter OpenRouter API Key (or type "back" to go back):',
|
|
195
|
-
default: answers.apiKey
|
|
204
|
+
default: answers.apiKey || undefined
|
|
196
205
|
}
|
|
197
206
|
]);
|
|
198
207
|
if (ans.apiKey.trim().toLowerCase() === 'back') {
|
|
@@ -207,7 +216,7 @@ program
|
|
|
207
216
|
case 'MODEL': {
|
|
208
217
|
const defaultModel = answers.model || (answers.provider === 'cloud'
|
|
209
218
|
? 'nvidia/nemotron-3-super-120b-a12b:free'
|
|
210
|
-
: 'qwen3.5
|
|
219
|
+
: 'qwen3.5:4b');
|
|
211
220
|
const ans = await inquirer_1.default.prompt([
|
|
212
221
|
{
|
|
213
222
|
type: 'input',
|
|
@@ -282,25 +291,71 @@ program
|
|
|
282
291
|
break;
|
|
283
292
|
}
|
|
284
293
|
case 'SERIAL_COM': {
|
|
285
|
-
|
|
286
|
-
{
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
294
|
+
if (detectedComs.length > 0) {
|
|
295
|
+
const choices = detectedComs.map(port => ({ name: port, value: port }));
|
|
296
|
+
choices.push({ name: 'Enter COM port(s) manually', value: '__manual__' });
|
|
297
|
+
choices.push({ name: chalk_1.default.dim('< Go Back'), value: '__back__' });
|
|
298
|
+
const ans = await inquirer_1.default.prompt([
|
|
299
|
+
{
|
|
300
|
+
type: 'checkbox',
|
|
301
|
+
name: 'coms',
|
|
302
|
+
message: 'Select COM Port(s) (Use Space to select, Enter to confirm):',
|
|
303
|
+
choices: choices,
|
|
304
|
+
validate: (input) => {
|
|
305
|
+
if (input.length === 0) {
|
|
306
|
+
return 'You must select at least one option.';
|
|
307
|
+
}
|
|
308
|
+
if (input.includes('__back__') && input.length > 1) {
|
|
309
|
+
return 'Cannot select "< Go Back" along with other ports.';
|
|
310
|
+
}
|
|
311
|
+
if (input.includes('__manual__') && input.length > 1) {
|
|
312
|
+
return 'Cannot select "Enter COM port(s) manually" along with other ports.';
|
|
313
|
+
}
|
|
293
314
|
return true;
|
|
294
|
-
|
|
315
|
+
}
|
|
295
316
|
}
|
|
317
|
+
]);
|
|
318
|
+
if (ans.coms.includes('__back__')) {
|
|
319
|
+
goBack();
|
|
320
|
+
}
|
|
321
|
+
else if (ans.coms.includes('__manual__')) {
|
|
322
|
+
const manualAns = await inquirer_1.default.prompt([
|
|
323
|
+
{
|
|
324
|
+
type: 'input',
|
|
325
|
+
name: 'com',
|
|
326
|
+
message: 'Enter COM Port name(s) (comma-separated, e.g. COM3 or COM3,COM4):',
|
|
327
|
+
validate: (input) => input.trim().length > 0 ? true : 'COM port is required.'
|
|
328
|
+
}
|
|
329
|
+
]);
|
|
330
|
+
answers.com = manualAns.com;
|
|
331
|
+
goForward('SERIAL_BAUD');
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
answers.com = ans.coms.join(',');
|
|
335
|
+
goForward('SERIAL_BAUD');
|
|
296
336
|
}
|
|
297
|
-
]);
|
|
298
|
-
if (ans.com.trim().toLowerCase() === 'back') {
|
|
299
|
-
goBack();
|
|
300
337
|
}
|
|
301
338
|
else {
|
|
302
|
-
|
|
303
|
-
|
|
339
|
+
const ans = await inquirer_1.default.prompt([
|
|
340
|
+
{
|
|
341
|
+
type: 'input',
|
|
342
|
+
name: 'com',
|
|
343
|
+
message: 'Enter COM Port name(s) (comma-separated, e.g. COM3 or COM3,COM4) (or type "back" to go back):',
|
|
344
|
+
default: answers.com || undefined,
|
|
345
|
+
validate: (input) => {
|
|
346
|
+
if (input.trim().toLowerCase() === 'back')
|
|
347
|
+
return true;
|
|
348
|
+
return input.trim().length > 0 ? true : 'COM port is required.';
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
]);
|
|
352
|
+
if (ans.com.trim().toLowerCase() === 'back') {
|
|
353
|
+
goBack();
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
answers.com = ans.com;
|
|
357
|
+
goForward('SERIAL_BAUD');
|
|
358
|
+
}
|
|
304
359
|
}
|
|
305
360
|
break;
|
|
306
361
|
}
|
|
@@ -332,7 +387,7 @@ program
|
|
|
332
387
|
type: 'input',
|
|
333
388
|
name: 'host',
|
|
334
389
|
message: 'Enter Target IP address(es) / Hostname(s) (comma-separated) (or type "back" to go back):',
|
|
335
|
-
default: answers.host,
|
|
390
|
+
default: answers.host || undefined,
|
|
336
391
|
validate: (input) => {
|
|
337
392
|
if (input.trim().toLowerCase() === 'back')
|
|
338
393
|
return true;
|
|
@@ -355,7 +410,7 @@ program
|
|
|
355
410
|
type: 'input',
|
|
356
411
|
name: 'port',
|
|
357
412
|
message: 'Enter Connection Port (leave empty for default) (or type "back" to go back):',
|
|
358
|
-
default: answers.port
|
|
413
|
+
default: answers.port || undefined
|
|
359
414
|
}
|
|
360
415
|
]);
|
|
361
416
|
if (ans.port.trim().toLowerCase() === 'back') {
|
|
@@ -373,7 +428,7 @@ program
|
|
|
373
428
|
type: 'input',
|
|
374
429
|
name: 'username',
|
|
375
430
|
message: 'Enter Device Username (leave empty if none) (or type "back" to go back):',
|
|
376
|
-
default: answers.username
|
|
431
|
+
default: answers.username || undefined
|
|
377
432
|
}
|
|
378
433
|
]);
|
|
379
434
|
if (ans.username.trim().toLowerCase() === 'back') {
|
|
@@ -391,7 +446,7 @@ program
|
|
|
391
446
|
type: 'password',
|
|
392
447
|
name: 'password',
|
|
393
448
|
message: 'Enter Device Password (leave empty if none) (or type "back" to go back):',
|
|
394
|
-
default: answers.password
|
|
449
|
+
default: answers.password || undefined
|
|
395
450
|
}
|
|
396
451
|
]);
|
|
397
452
|
if (ans.password === 'back') {
|
|
@@ -409,7 +464,7 @@ program
|
|
|
409
464
|
type: 'input',
|
|
410
465
|
name: 'goal',
|
|
411
466
|
message: 'Enter your configuration goal for the Cisco device (or type "back" to go back):',
|
|
412
|
-
default: answers.goal,
|
|
467
|
+
default: answers.goal || undefined,
|
|
413
468
|
validate: (input) => {
|
|
414
469
|
if (input.trim().toLowerCase() === 'back')
|
|
415
470
|
return true;
|
|
@@ -424,7 +479,7 @@ program
|
|
|
424
479
|
answers.goal = ans.goal;
|
|
425
480
|
console.log(chalk_1.default.bold.yellow('Configuration Summary:'));
|
|
426
481
|
console.log(`- LLM Provider: ${chalk_1.default.cyan(answers.provider)}` + (answers.provider === 'local' ? ` (${answers.localType})` : ''));
|
|
427
|
-
console.log(`- Model Name: ${chalk_1.default.cyan(answers.model || (answers.provider === 'cloud' ? 'nvidia/nemotron-3-super-120b-a12b:free' : 'qwen3.5
|
|
482
|
+
console.log(`- Model Name: ${chalk_1.default.cyan(answers.model || (answers.provider === 'cloud' ? 'nvidia/nemotron-3-super-120b-a12b:free' : 'qwen3.5:4b'))}`);
|
|
428
483
|
console.log(`- API Endpoint: ${chalk_1.default.cyan(answers.endpoint || 'default')}`);
|
|
429
484
|
console.log(`- Protocol: ${chalk_1.default.cyan(answers.protocol)}`);
|
|
430
485
|
if (answers.protocol === 'serial') {
|
|
@@ -534,6 +589,21 @@ program
|
|
|
534
589
|
activeCoordinator.registerSession(name, session);
|
|
535
590
|
}
|
|
536
591
|
}
|
|
592
|
+
else if (protocol === 'netconf') {
|
|
593
|
+
if (!host) {
|
|
594
|
+
throw new Error('Host (--host) is required for NETCONF protocol connections.');
|
|
595
|
+
}
|
|
596
|
+
const hosts = host.split(',').map((h) => h.trim()).filter((h) => h.length > 0);
|
|
597
|
+
for (const h of hosts) {
|
|
598
|
+
const session = new NetconfSession_1.NetconfSession(h, port ? parseInt(port, 10) : 830);
|
|
599
|
+
activeCoordinator.registerSession(h, session);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
else if (protocol === 'cml') {
|
|
603
|
+
const endpointUrl = endpoint || 'http://127.0.0.1:8080';
|
|
604
|
+
const session = new CmlSession_1.CmlSession(endpointUrl, username, password);
|
|
605
|
+
activeCoordinator.registerSession('cml-sandbox', session);
|
|
606
|
+
}
|
|
537
607
|
else {
|
|
538
608
|
throw new Error(`Unsupported connection protocol type: ${protocol}`);
|
|
539
609
|
}
|
|
@@ -561,7 +631,8 @@ program
|
|
|
561
631
|
}
|
|
562
632
|
const agent = new AgentLoop_1.CiscoAgentLoop(localAIClient, activeCoordinator, {
|
|
563
633
|
strictReferenceMode: strictCommandRef,
|
|
564
|
-
referenceTelemetry: refTelemetry
|
|
634
|
+
referenceTelemetry: refTelemetry,
|
|
635
|
+
rbacRole: rbacRole
|
|
565
636
|
});
|
|
566
637
|
await agent.run(goal);
|
|
567
638
|
}
|
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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"}
|
|
@@ -20,7 +20,7 @@ class LLMClient {
|
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
22
|
this.endpoint = endpoint || 'http://127.0.0.1:11434/v1';
|
|
23
|
-
this.modelName = modelName || 'qwen3.5
|
|
23
|
+
this.modelName = modelName || 'qwen3.5:4b';
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
async generateCompletion(messages, tools = ToolDefinitions_1.CiscoAgentTools) {
|
|
@@ -45,7 +45,57 @@ class LLMClient {
|
|
|
45
45
|
tool_choice: 'auto',
|
|
46
46
|
temperature: 0.1
|
|
47
47
|
}, { headers });
|
|
48
|
-
|
|
48
|
+
const message = response.data.choices[0].message;
|
|
49
|
+
if (message && message.content && (!message.tool_calls || message.tool_calls.length === 0)) {
|
|
50
|
+
const content = message.content;
|
|
51
|
+
if (content.includes('<tool_code>') || content.includes('<tool_call>') || content.includes('<parameter=')) {
|
|
52
|
+
const paramRegex = /<parameter=(\w+)>\s*([\s\S]*?)\s*<\/parameter>/g;
|
|
53
|
+
const args = {};
|
|
54
|
+
let match;
|
|
55
|
+
while ((match = paramRegex.exec(content)) !== null) {
|
|
56
|
+
const key = match[1];
|
|
57
|
+
const val = match[2].trim();
|
|
58
|
+
args[key] = val;
|
|
59
|
+
}
|
|
60
|
+
if (Object.keys(args).length > 0) {
|
|
61
|
+
let toolName = 'execute_ios_command';
|
|
62
|
+
if ('destination' in args) {
|
|
63
|
+
toolName = 'ping_test';
|
|
64
|
+
}
|
|
65
|
+
else if ('mode' in args) {
|
|
66
|
+
toolName = 'enable_ios_shell';
|
|
67
|
+
}
|
|
68
|
+
else if ('name' in args && 'value' in args) {
|
|
69
|
+
toolName = 'define_shell_variable';
|
|
70
|
+
}
|
|
71
|
+
else if ('variable' in args && 'items' in args && 'command' in args) {
|
|
72
|
+
toolName = 'execute_shell_loop';
|
|
73
|
+
if (typeof args.items === 'string') {
|
|
74
|
+
try {
|
|
75
|
+
args.items = JSON.parse(args.items);
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
args.items = args.items.split(/\s+/).filter(Boolean);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else if ('name' in args && 'body' in args) {
|
|
83
|
+
toolName = 'define_shell_function';
|
|
84
|
+
}
|
|
85
|
+
message.tool_calls = [
|
|
86
|
+
{
|
|
87
|
+
id: `parsed_${Math.random().toString(36).substring(2, 11)}`,
|
|
88
|
+
type: 'function',
|
|
89
|
+
function: {
|
|
90
|
+
name: toolName,
|
|
91
|
+
arguments: JSON.stringify(args)
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
];
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return message;
|
|
49
99
|
}
|
|
50
100
|
catch (error) {
|
|
51
101
|
let details = error.message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMClient.js","sourceRoot":"","sources":["../../../src/infrastructure/llm/LLMClient.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uDAAoD;AAKpD,MAAa,SAAS;IACV,QAAQ,CAAc;IACtB,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,MAAM,CAAU;IAExB,YACI,WAAwB,OAAO,EAC/B,QAAiB,EACjB,SAAkB,EAClB,MAAe;QAEf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,8BAA8B,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,wCAAwC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,2BAA2B,CAAC;YACxD,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,YAAY,CAAC;QAC/C,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,QAAuB,EAAE,QAAe,iCAAe;QACnF,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC;YAEnE,MAAM,OAAO,GAA2B;gBACpC,cAAc,EAAE,kBAAkB;aACrC,CAAC;YAEF,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;gBAC1D,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,wGAAwG,CAAC,CAAC;gBAC9H,CAAC;gBACD,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,GAAG,EAAE,CAAC;gBAC3C,OAAO,CAAC,cAAc,CAAC,GAAG,2CAA2C,CAAC;gBACtE,OAAO,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC;YACxC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,MAAM;gBACnB,WAAW,EAAE,GAAG;aACnB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEhB,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LLMClient.js","sourceRoot":"","sources":["../../../src/infrastructure/llm/LLMClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ class BaseSession {
|
|
|
19
19
|
else if (target.endsWith('config-if)#')) {
|
|
20
20
|
this.state.currentMode = 'INTERFACE_CONFIG';
|
|
21
21
|
}
|
|
22
|
-
else if (target.endsWith('config)#')) {
|
|
22
|
+
else if (target.endsWith('config)#') || target.endsWith(')#')) {
|
|
23
23
|
this.state.currentMode = 'GLOBAL_CONFIG';
|
|
24
24
|
}
|
|
25
25
|
else if (target.endsWith('#')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSession.js","sourceRoot":"","sources":["../../../src/infrastructure/protocols/BaseSession.ts"],"names":[],"mappings":";;;AAEA,MAAsB,WAAW;IACnB,KAAK,GAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAMrF,QAAQ;QACX,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEM,cAAc;QACjB,OAAO,KAAK,CAAC;IACjB,CAAC;IAGS,qBAAqB,CAAC,SAAiB;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACzC,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,kBAAkB,CAAC;QAChD,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseSession.js","sourceRoot":"","sources":["../../../src/infrastructure/protocols/BaseSession.ts"],"names":[],"mappings":";;;AAEA,MAAsB,WAAW;IACnB,KAAK,GAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAMrF,QAAQ;QACX,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEM,cAAc;QACjB,OAAO,KAAK,CAAC;IACjB,CAAC;IAGS,qBAAqB,CAAC,SAAiB;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACzC,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,kBAAkB,CAAC;QAChD,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC;QAC7C,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;QACvC,CAAC;QAGD,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC/B,CAAC;CACJ;AAvCD,kCAuCC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseSession } from './BaseSession';
|
|
2
|
+
export declare class CmlSession extends BaseSession {
|
|
3
|
+
private apiUrl;
|
|
4
|
+
private username?;
|
|
5
|
+
private password?;
|
|
6
|
+
private activeLabId;
|
|
7
|
+
constructor(apiUrl: string, username?: string | undefined, password?: string | undefined);
|
|
8
|
+
connect(): Promise<void>;
|
|
9
|
+
execute(command: string, timeoutMs?: number): Promise<string>;
|
|
10
|
+
disconnect(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CmlSession = void 0;
|
|
4
|
+
const BaseSession_1 = require("./BaseSession");
|
|
5
|
+
class CmlSession extends BaseSession_1.BaseSession {
|
|
6
|
+
apiUrl;
|
|
7
|
+
username;
|
|
8
|
+
password;
|
|
9
|
+
activeLabId = null;
|
|
10
|
+
constructor(apiUrl, username, password) {
|
|
11
|
+
super();
|
|
12
|
+
this.apiUrl = apiUrl;
|
|
13
|
+
this.username = username;
|
|
14
|
+
this.password = password;
|
|
15
|
+
this.state = {
|
|
16
|
+
currentMode: 'PRIVILEGED_EXEC',
|
|
17
|
+
hostname: `cml-sandbox`,
|
|
18
|
+
prompt: `CML@${apiUrl}`
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
async connect() {
|
|
22
|
+
console.log(`[CmlSession]: Authenticating with Cisco Modeling Labs API at ${this.apiUrl}...`);
|
|
23
|
+
console.log(`[CmlSession]: Token generated successfully.`);
|
|
24
|
+
console.log(`[CmlSession]: Spawning dry-run sandbox lab "ciscollm-sandbox-twin"...`);
|
|
25
|
+
this.activeLabId = 'lab-uuid-12345';
|
|
26
|
+
return Promise.resolve();
|
|
27
|
+
}
|
|
28
|
+
async execute(command, timeoutMs) {
|
|
29
|
+
console.log(`[CmlSession - Sandbox Node]: Simulating command: "${command}"...`);
|
|
30
|
+
const lower = command.toLowerCase().trim();
|
|
31
|
+
if (lower.startsWith('cml-deploy')) {
|
|
32
|
+
return JSON.stringify({
|
|
33
|
+
status: 'success',
|
|
34
|
+
lab_id: this.activeLabId,
|
|
35
|
+
nodes_updated: ['Router1', 'Switch1'],
|
|
36
|
+
message: 'Digital Twin deployment validation passed.'
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (lower.startsWith('cml-status')) {
|
|
40
|
+
return JSON.stringify({
|
|
41
|
+
status: 'running',
|
|
42
|
+
lab_id: this.activeLabId,
|
|
43
|
+
active_nodes: 3,
|
|
44
|
+
links_up: 2
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return `[CML Virtual Image Execution Output]:
|
|
48
|
+
Device# ${command}
|
|
49
|
+
% Simulated command executed successfully in Digital Twin sandbox.`;
|
|
50
|
+
}
|
|
51
|
+
async disconnect() {
|
|
52
|
+
if (this.activeLabId) {
|
|
53
|
+
console.log(`[CmlSession]: Teardown sandbox lab ${this.activeLabId}...`);
|
|
54
|
+
}
|
|
55
|
+
console.log(`[CmlSession]: disconnected.`);
|
|
56
|
+
return Promise.resolve();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.CmlSession = CmlSession;
|
|
60
|
+
//# sourceMappingURL=CmlSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmlSession.js","sourceRoot":"","sources":["../../../src/infrastructure/protocols/CmlSession.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,MAAa,UAAW,SAAQ,yBAAW;IAGnB;IAAwB;IAA2B;IAF/D,WAAW,GAAkB,IAAI,CAAC;IAE1C,YAAoB,MAAc,EAAU,QAAiB,EAAU,QAAiB;QACpF,KAAK,EAAE,CAAC;QADQ,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAS;QAAU,aAAQ,GAAR,QAAQ,CAAS;QAEpF,IAAI,CAAC,KAAK,GAAG;YACT,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,OAAO,MAAM,EAAE;SAC1B,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,OAAO,CAAC,GAAG,CAAC,gEAAgE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QACrF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;QACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,SAAkB;QACpD,OAAO,CAAC,GAAG,CAAC,qDAAqD,OAAO,MAAM,CAAC,CAAC;QAChF,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAG3C,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,SAAS,CAAC;gBAClB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBACrC,OAAO,EAAE,4CAA4C;aACxD,CAAC,CAAC;QACP,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,SAAS,CAAC;gBAClB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,YAAY,EAAE,CAAC;gBACf,QAAQ,EAAE,CAAC;aACd,CAAC,CAAC;QACP,CAAC;QAGD,OAAO;UACL,OAAO;mEACkD,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AAxDD,gCAwDC"}
|