ciscollm-cli 1.3.0 → 1.3.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 (47) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +242 -242
  3. package/dist/cli/commands/dashboardCommand.d.ts +1 -0
  4. package/dist/cli/commands/dashboardCommand.js +16 -0
  5. package/dist/cli/commands/dashboardCommand.js.map +1 -0
  6. package/dist/cli/commands/monitorCommand.d.ts +4 -0
  7. package/dist/cli/commands/monitorCommand.js +132 -0
  8. package/dist/cli/commands/monitorCommand.js.map +1 -0
  9. package/dist/cli/commands/runCommand.d.ts +6 -0
  10. package/dist/cli/commands/runCommand.js +635 -0
  11. package/dist/cli/commands/runCommand.js.map +1 -0
  12. package/dist/cli/commands/serverCommand.d.ts +1 -0
  13. package/dist/cli/commands/serverCommand.js +11 -0
  14. package/dist/cli/commands/serverCommand.js.map +1 -0
  15. package/dist/cli/commands/shellCommand.d.ts +1 -0
  16. package/dist/cli/commands/shellCommand.js +44 -0
  17. package/dist/cli/commands/shellCommand.js.map +1 -0
  18. package/dist/core/agent/AgentLoop.d.ts +0 -4
  19. package/dist/core/agent/AgentLoop.js +1 -158
  20. package/dist/core/agent/AgentLoop.js.map +1 -1
  21. package/dist/core/agent/AutoHealer.d.ts +12 -0
  22. package/dist/core/agent/AutoHealer.js +129 -26
  23. package/dist/core/agent/AutoHealer.js.map +1 -1
  24. package/dist/core/agent/HierarchicalAgentManager.d.ts +1 -1
  25. package/dist/core/agent/HierarchicalAgentManager.js +21 -5
  26. package/dist/core/agent/HierarchicalAgentManager.js.map +1 -1
  27. package/dist/core/agent/PromptEngine.js +33 -68
  28. package/dist/core/agent/PromptEngine.js.map +1 -1
  29. package/dist/core/guardrails/AuditLogger.js +4 -4
  30. package/dist/core/guardrails/CommandFirewall.js +15 -0
  31. package/dist/core/guardrails/CommandFirewall.js.map +1 -1
  32. package/dist/index.js +24 -903
  33. package/dist/index.js.map +1 -1
  34. package/dist/infrastructure/llm/LLMClient.js +102 -4
  35. package/dist/infrastructure/llm/LLMClient.js.map +1 -1
  36. package/dist/infrastructure/llm/ToolDefinitions.d.ts +0 -136
  37. package/dist/infrastructure/llm/ToolDefinitions.js +0 -102
  38. package/dist/infrastructure/llm/ToolDefinitions.js.map +1 -1
  39. package/dist/infrastructure/protocols/PlinkSerial.js +1 -1
  40. package/dist/infrastructure/protocols/PlinkSerial.js.map +1 -1
  41. package/dist/server/dashboard.js +1033 -1033
  42. package/dist/server/index.js +8 -8
  43. package/dist/server/shell-simulator.d.ts +28 -1
  44. package/dist/server/shell-simulator.js +599 -73
  45. package/dist/server/shell-simulator.js.map +1 -1
  46. package/dist/server/ssh.js +20 -20
  47. package/package.json +54 -54
@@ -55,6 +55,8 @@ class AutoHealer {
55
55
  firewall = new CommandFirewall_1.CommandFirewall();
56
56
  triggerHistory = new Map();
57
57
  blockedUntil = new Map();
58
+ cacheFilePath;
59
+ dynamicCache = [];
58
60
  constructor(llmClient, coordinator, options = {}) {
59
61
  this.llmClient = llmClient;
60
62
  this.coordinator = coordinator;
@@ -64,6 +66,8 @@ class AutoHealer {
64
66
  if (this.nonInteractive) {
65
67
  process.env.CISCOLLM_NON_INTERACTIVE = 'true';
66
68
  }
69
+ this.cacheFilePath = path.resolve(process.cwd(), '.cache/auto_healing_cache.json');
70
+ this.loadCache();
67
71
  }
68
72
  start() {
69
73
  if (this.isRunning)
@@ -115,9 +119,15 @@ class AutoHealer {
115
119
  spinner.text = 'OODA Loop (Orient): Gathering diagnostic context...';
116
120
  const context = await this.gatherContext(deviceId, msg);
117
121
  spinner.info(`Diagnostic context gathered (${context.commandsRun.length} commands).`);
118
- const decideSpinner = (0, ui_1.createSpinner)('OODA Loop (Decide): Querying AI for Root Cause & Remediation...').start();
119
- const diagnosis = await this.diagnose(deviceId, msg, context.outputs);
120
- decideSpinner.succeed('Root Cause Analysis completed.');
122
+ const decideSpinner = (0, ui_1.createSpinner)('OODA Loop (Decide): Querying AI (or cache) for Root Cause & Remediation...').start();
123
+ let diagnosis = this.tryCacheLookup(msg);
124
+ if (diagnosis) {
125
+ decideSpinner.succeed('Root Cause Analysis retrieved from cache.');
126
+ }
127
+ else {
128
+ diagnosis = await this.diagnose(deviceId, msg, context.outputs);
129
+ decideSpinner.succeed('Root Cause Analysis completed.');
130
+ }
121
131
  ui_1.logger.diamond(`AI Detected Issue: ${chalk_1.default.white.bold(diagnosis.detected_issue)}`);
122
132
  ui_1.logger.diamond(`AI Root Cause: ${chalk_1.default.gray.italic(diagnosis.root_cause)}`);
123
133
  ui_1.logger.diamond(`AI Confidence: ${chalk_1.default.cyan(diagnosis.confidence)}`);
@@ -254,6 +264,7 @@ class AutoHealer {
254
264
  if (isHealed) {
255
265
  verifySpinner.succeed('Verification PASSED: Device recovered successfully.');
256
266
  this.logToAudit(`[SUCCESS] Device: ${deviceId} | Issue: ${diagnosis.detected_issue} | Remediation: ${appliedCommands.join(', ')}`);
267
+ this.cacheSuccessfulHealing(msg, diagnosis);
257
268
  }
258
269
  else {
259
270
  verifySpinner.fail('Verification FAILED: The issue is not fully resolved. Triggering rollback...');
@@ -309,23 +320,23 @@ class AutoHealer {
309
320
  return { commandsRun: commands, outputs };
310
321
  }
311
322
  async diagnose(deviceId, syslog, context) {
312
- const systemPrompt = `You are an expert Cisco network diagnostic AI agent operating in an AIOps closed-loop healing framework.
313
- Your task is to analyze the triggering syslog alert and the current state output of the device to:
314
- 1. Identify the detected issue.
315
- 2. Determine the root cause.
316
- 3. Formulate the precise list of Cisco IOS configuration commands to remediate the issue (e.g. going into interface configuration mode if necessary, applying changes, ensuring no shutdown is run if the port was disabled).
317
- 4. Formulate verification commands to check if the remediation succeeded.
318
-
319
- You MUST think step-by-step (Chain of Thought).
320
- Your response MUST end with a single, valid JSON block matching this schema:
321
- {
322
- "detected_issue": "short description of issue",
323
- "root_cause": "root cause description",
324
- "confidence": 0.0 to 1.0,
325
- "remediation_commands": ["list", "of", "commands"],
326
- "verification_commands": ["list", "of", "commands"]
327
- }
328
-
323
+ const systemPrompt = `You are an expert Cisco network diagnostic AI agent operating in an AIOps closed-loop healing framework.
324
+ Your task is to analyze the triggering syslog alert and the current state output of the device to:
325
+ 1. Identify the detected issue.
326
+ 2. Determine the root cause.
327
+ 3. Formulate the precise list of Cisco IOS configuration commands to remediate the issue (e.g. going into interface configuration mode if necessary, applying changes, ensuring no shutdown is run if the port was disabled).
328
+ 4. Formulate verification commands to check if the remediation succeeded.
329
+
330
+ You MUST think step-by-step (Chain of Thought).
331
+ Your response MUST end with a single, valid JSON block matching this schema:
332
+ {
333
+ "detected_issue": "short description of issue",
334
+ "root_cause": "root cause description",
335
+ "confidence": 0.0 to 1.0,
336
+ "remediation_commands": ["list", "of", "commands"],
337
+ "verification_commands": ["list", "of", "commands"]
338
+ }
339
+
329
340
  Ensure the configuration commands are completely accurate for Cisco IOS syntax. For instance, to modify an interface, you must include the "interface GigabitEthernet0/1" command first.`;
330
341
  const userMsg = `Syslog Alert: "${syslog}"\n\nCollected Device Context:\n${context}`;
331
342
  const messages = [
@@ -356,12 +367,12 @@ Ensure the configuration commands are completely accurate for Cisco IOS syntax.
356
367
  }
357
368
  }
358
369
  async verifyFixWithLLM(deviceId, syslog, issue, outputs) {
359
- const systemPrompt = `You are a network verification validator. Analyze:
360
- 1. The original syslog alert.
361
- 2. The detected issue.
362
- 3. The post-remediation verification command outputs.
363
-
364
- Determine if the issue has been successfully resolved (e.g. the line protocol changed to up/up, or routing neighbor state is now FULL).
370
+ const systemPrompt = `You are a network verification validator. Analyze:
371
+ 1. The original syslog alert.
372
+ 2. The detected issue.
373
+ 3. The post-remediation verification command outputs.
374
+
375
+ Determine if the issue has been successfully resolved (e.g. the line protocol changed to up/up, or routing neighbor state is now FULL).
365
376
  Your response MUST end with either "SUCCESS" or "FAILED". Do not output any other text after.`;
366
377
  const userMsg = `Syslog Alert: "${syslog}"\nDetected Issue: "${issue}"\n\nPost-Remediation Verification Outputs:\n${outputs}`;
367
378
  const messages = [
@@ -382,6 +393,98 @@ Your response MUST end with either "SUCCESS" or "FAILED". Do not output any othe
382
393
  console.error(`Failed to write to healing audit log:`, e);
383
394
  }
384
395
  }
396
+ loadCache() {
397
+ try {
398
+ const dir = path.dirname(this.cacheFilePath);
399
+ if (!fs.existsSync(dir)) {
400
+ fs.mkdirSync(dir, { recursive: true });
401
+ }
402
+ if (fs.existsSync(this.cacheFilePath)) {
403
+ const raw = fs.readFileSync(this.cacheFilePath, 'utf8');
404
+ this.dynamicCache = JSON.parse(raw);
405
+ }
406
+ }
407
+ catch (e) {
408
+ ui_1.logger.warn(`Failed to load auto-healing cache: ${e.message}`);
409
+ }
410
+ }
411
+ saveCache() {
412
+ try {
413
+ const dir = path.dirname(this.cacheFilePath);
414
+ if (!fs.existsSync(dir)) {
415
+ fs.mkdirSync(dir, { recursive: true });
416
+ }
417
+ fs.writeFileSync(this.cacheFilePath, JSON.stringify(this.dynamicCache, null, 2), 'utf8');
418
+ }
419
+ catch (e) {
420
+ ui_1.logger.warn(`Failed to save auto-healing cache: ${e.message}`);
421
+ }
422
+ }
423
+ tryCacheLookup(syslog) {
424
+ const staticTemplates = [
425
+ {
426
+ regex: /%LINK-3-UPDOWN:\s*Interface\s+(\S+?)(?:,|\s+changed|$)/i,
427
+ detected_issue: 'Physical interface link down',
428
+ root_cause: 'Interface state transition to down',
429
+ confidence: 0.98,
430
+ remediation_commands: ['configure terminal', 'interface $1', 'no shutdown', 'end'],
431
+ verification_commands: ['show ip interface brief']
432
+ },
433
+ {
434
+ regex: /%LINEPROTO-5-UPDOWN:\s*Line\s+protocol\s+on\s+Interface\s+(\S+?)(?:,|\s+changed|$)/i,
435
+ detected_issue: 'Line protocol down',
436
+ root_cause: 'Line protocol state transition to down',
437
+ confidence: 0.98,
438
+ remediation_commands: ['configure terminal', 'interface $1', 'no shutdown', 'end'],
439
+ verification_commands: ['show ip interface brief']
440
+ }
441
+ ];
442
+ for (const tmpl of staticTemplates) {
443
+ const match = tmpl.regex.exec(syslog);
444
+ if (match) {
445
+ const var1 = match[1];
446
+ const remediation = tmpl.remediation_commands.map(cmd => cmd.replace(/\$1/g, var1));
447
+ const verification = tmpl.verification_commands.map(cmd => cmd.replace(/\$1/g, var1));
448
+ ui_1.logger.info(`[AutoHealer Cache] Hit static regex template for syslog pattern.`);
449
+ return {
450
+ detected_issue: tmpl.detected_issue,
451
+ root_cause: tmpl.root_cause,
452
+ confidence: tmpl.confidence,
453
+ remediation_commands: remediation,
454
+ verification_commands: verification
455
+ };
456
+ }
457
+ }
458
+ const trimmedSyslog = syslog.trim();
459
+ const found = this.dynamicCache.find((entry) => entry.pattern.trim() === trimmedSyslog);
460
+ if (found) {
461
+ ui_1.logger.info(`[AutoHealer Cache] Hit dynamic cache for syslog: "${trimmedSyslog}"`);
462
+ return {
463
+ detected_issue: found.detected_issue,
464
+ root_cause: found.root_cause,
465
+ confidence: found.confidence,
466
+ remediation_commands: found.remediation_commands,
467
+ verification_commands: found.verification_commands
468
+ };
469
+ }
470
+ return null;
471
+ }
472
+ cacheSuccessfulHealing(syslog, diagnosis) {
473
+ const trimmedSyslog = syslog.trim();
474
+ const exists = this.dynamicCache.some((entry) => entry.pattern.trim() === trimmedSyslog);
475
+ if (exists)
476
+ return;
477
+ this.dynamicCache.push({
478
+ pattern: trimmedSyslog,
479
+ detected_issue: diagnosis.detected_issue,
480
+ root_cause: diagnosis.root_cause,
481
+ confidence: diagnosis.confidence,
482
+ remediation_commands: diagnosis.remediation_commands,
483
+ verification_commands: diagnosis.verification_commands
484
+ });
485
+ this.saveCache();
486
+ ui_1.logger.info(`[AutoHealer Cache] Cached successful healing plan for syslog: "${trimmedSyslog}"`);
487
+ }
385
488
  }
386
489
  exports.AutoHealer = AutoHealer;
387
490
  //# sourceMappingURL=AutoHealer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoHealer.js","sourceRoot":"","sources":["../../../src/core/agent/AutoHealer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uEAAoE;AACpE,wCAAwD;AAExD,mEAAgE;AAChE,2DAAwD;AACxD,uCAAyB;AACzB,2CAA6B;AAC7B,kDAA0B;AAQ1B,MAAa,UAAU;IAWP;IACA;IAXJ,SAAS,GAAY,KAAK,CAAC;IAC3B,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,WAAW,CAAS;IACpB,aAAa,CAAS;IACtB,cAAc,CAAU;IACxB,QAAQ,GAAG,IAAI,iCAAe,EAAE,CAAC;IACjC,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,YACY,SAAoB,EACpB,WAAkC,EAC1C,UAA6B,EAAE;QAFvB,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAuB;QAG1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAAC,CAAC;QACvF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;QACtD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,MAAM,CAAC;QAClD,CAAC;IACL,CAAC;IAEM,KAAK;QACR,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,WAAM,CAAC,IAAI,CAAC,2GAA2G,CAAC,CAAC;QACzH,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,GAAW,EAAE,QAAgB,EAAE,EAAE;YAClE,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC/C,WAAM,CAAC,KAAK,CAAC,0CAA0C,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,WAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,GAAW,EAAE,QAAgB;QAC1D,MAAM,SAAS,GAAG,oDAAoD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,SAAS,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;YACzD,WAAM,CAAC,IAAI,CAAC,8CAA8C,QAAQ,4BAA4B,WAAW,4CAA4C,CAAC,CAAC;YACvJ,IAAI,CAAC,UAAU,CAAC,8BAA8B,QAAQ,kCAAkC,WAAW,OAAO,CAAC,CAAC;YAC5G,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,WAAM,CAAC,IAAI,CAAC,wCAAwC,QAAQ,4CAA4C,CAAC,CAAC;YAC1G,OAAO;QACX,CAAC;QAGD,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;YAC9C,WAAM,CAAC,KAAK,CAAC,0CAA0C,QAAQ,sBAAsB,OAAO,CAAC,MAAM,4FAA4F,CAAC,CAAC;YACjM,IAAI,CAAC,UAAU,CAAC,gCAAgC,QAAQ,oDAAoD,CAAC,CAAC;YAC9G,OAAO;QACX,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,WAAM,CAAC,OAAO,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;QACrE,WAAM,CAAC,IAAI,CAAC,oBAAoB,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,uBAAuB,QAAQ,cAAc,GAAG,EAAE,CAAC,CAAC;QAEpE,MAAM,OAAO,GAAG,IAAA,kBAAa,EAAC,4CAA4C,CAAC,CAAC,KAAK,EAAE,CAAC;QACpF,IAAI,CAAC;YAED,OAAO,CAAC,IAAI,GAAG,qDAAqD,CAAC;YACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,WAAW,CAAC,MAAM,aAAa,CAAC,CAAC;YAGtF,MAAM,aAAa,GAAG,IAAA,kBAAa,EAAC,iEAAiE,CAAC,CAAC,KAAK,EAAE,CAAC;YAC/G,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACtE,aAAa,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;YAExD,WAAM,CAAC,OAAO,CAAC,sBAAsB,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACnF,WAAM,CAAC,OAAO,CAAC,kBAAkB,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC5E,WAAM,CAAC,OAAO,CAAC,kBAAkB,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrE,WAAM,CAAC,OAAO,CAAC,gBAAgB,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACzF,WAAM,CAAC,OAAO,CAAC,iBAAiB,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAE1F,IAAI,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC5C,WAAM,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,UAAU,yBAAyB,IAAI,CAAC,aAAa,gCAAgC,CAAC,CAAC;gBAC/H,IAAI,CAAC,UAAU,CAAC,qBAAqB,QAAQ,0BAA0B,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC/F,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,OAAO;YACX,CAAC;YAGD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvB,WAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;gBACnF,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC;oBAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACzB,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBACpD,EAAE,CAAC,QAAQ,CAAC,eAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,EAAE,CAAC,MAAc,EAAE,EAAE;wBACvE,EAAE,CAAC,KAAK,EAAE,CAAC;wBACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;oBACjD,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,WAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBAC3D,IAAI,CAAC,UAAU,CAAC,oBAAoB,QAAQ,8BAA8B,CAAC,CAAC;oBAC5E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACrC,OAAO;gBACX,CAAC;YACL,CAAC;YAGD,MAAM,UAAU,GAAG,IAAA,kBAAa,EAAC,mDAAmD,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,uCAAkB,EAAE,CAAC;YACpC,MAAM,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,kBAAkB,GAAG,IAAI,CAAC;YAC9B,IAAI,eAAe,GAAa,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC7D,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;wBAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC;wBACtG,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACZ,yBAAW,CAAC,GAAG,CAAC;gCACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gCACnC,QAAQ,EAAE,QAAQ;gCAClB,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE,GAAG;gCACZ,MAAM,EAAE,SAAS;gCACjB,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,kCAAkC;6BACtE,CAAC,CAAC;4BACH,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,iDAAiD,CAAC,CAAC;wBACtF,CAAC;oBACL,CAAC;oBAED,UAAU,CAAC,IAAI,GAAG,wCAAwC,GAAG,MAAM,CAAC;oBACpE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACvC,MAAM,KAAK,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACpF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACjB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1B,yBAAW,CAAC,GAAG,CAAC;wBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,SAAS;wBACjB,aAAa,EAAE,GAAG;qBACrB,CAAC,CAAC;gBACP,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,kBAAkB,GAAG,KAAK,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC,+BAA+B,GAAG,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC5E,yBAAW,CAAC,GAAG,CAAC;wBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,CAAC,CAAC,OAAO;qBACpB,CAAC,CAAC;oBACH,MAAM;gBACV,CAAC;YACL,CAAC;YAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtB,UAAU,CAAC,IAAI,GAAG,2DAA2D,CAAC;gBAC9E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACjD,UAAU,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBACpE,IAAI,CAAC,UAAU,CAAC,wBAAwB,QAAQ,eAAe,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBACpI,yBAAW,CAAC,GAAG,CAAC;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,oBAAoB;oBAC7B,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,wCAAwC;iBACnD,CAAC,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,OAAO;YACX,CAAC;YACD,UAAU,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;YAEjE,MAAM,aAAa,GAAG,IAAA,kBAAa,EAAC,sDAAsD,CAAC,CAAC,KAAK,EAAE,CAAC;YACpG,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,qBAAqB,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACD,aAAa,CAAC,IAAI,GAAG,gDAAgD,GAAG,MAAM,CAAC;oBAC/E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACvC,aAAa,IAAI,aAAa,GAAG,eAAe,GAAG,MAAM,CAAC;oBAC1D,yBAAW,CAAC,GAAG,CAAC;wBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,SAAS;wBACjB,aAAa,EAAE,GAAG;qBACrB,CAAC,CAAC;gBACP,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,aAAa,IAAI,aAAa,GAAG,aAAa,CAAC,CAAC,OAAO,MAAM,CAAC;oBAC9D,yBAAW,CAAC,GAAG,CAAC;wBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,CAAC,CAAC,OAAO;qBACpB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAErG,IAAI,QAAQ,EAAE,CAAC;gBACX,aAAa,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;gBAC7E,IAAI,CAAC,UAAU,CAAC,qBAAqB,QAAQ,aAAa,SAAS,CAAC,cAAc,mBAAmB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvI,CAAC;iBAAM,CAAC;gBACJ,aAAa,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;gBACnG,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACjD,aAAa,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBACvD,IAAI,CAAC,UAAU,CAAC,2BAA2B,QAAQ,aAAa,SAAS,CAAC,cAAc,4CAA4C,CAAC,CAAC;gBACtI,yBAAW,CAAC,GAAG,CAAC;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,oBAAoB;oBAC7B,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,6CAA6C;iBACxD,CAAC,CAAC;YACP,CAAC;QAEL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,mBAAmB,QAAQ,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,GAAW;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,MAAM,OAAO,GAAG,uCAAuC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3C,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACT,QAAQ,CAAC,IAAI,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE/B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvC,OAAO,IAAI,sDAAsD,GAAG,+CAA+C,GAAG,MAAM,CAAC;YACjI,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,OAAO,IAAI,sDAAsD,GAAG,8DAA8D,GAAG,CAAC,OAAO,MAAM,CAAC;YACxJ,CAAC;QACL,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAe;QAOpE,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;yLAiB4J,CAAC;QAElL,MAAM,OAAO,GAAG,kBAAkB,MAAM,mCAAmC,OAAO,EAAE,CAAC;QAErF,MAAM,QAAQ,GAAkB;YAC5B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;SACrC,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAGlC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO;gBACH,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,SAAS;gBAClD,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,SAAS;gBAC1C,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;gBAC3E,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE;gBACvD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,EAAE;aAC5D,CAAC;QACN,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,OAAO,qBAAqB,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,OAAe;QAC3F,MAAM,YAAY,GAAG;;;;;;8FAMiE,CAAC;QAEvF,MAAM,OAAO,GAAG,kBAAkB,MAAM,uBAAuB,KAAK,gDAAgD,OAAO,EAAE,CAAC;QAE9H,MAAM,QAAQ,GAAkB;YAC5B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;SACrC,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEO,UAAU,CAAC,OAAe;QAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC;QAChD,IAAI,CAAC;YACD,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;CACJ;AA5XD,gCA4XC"}
1
+ {"version":3,"file":"AutoHealer.js","sourceRoot":"","sources":["../../../src/core/agent/AutoHealer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type NetworkAgentRole = 'CORE' | 'DISTRIBUTION' | 'ACCESS';
1
+ export type NetworkAgentRole = 'CORE' | 'DISTRIBUTION' | 'ACCESS' | 'DATACENTER';
2
2
  export interface SpecializedAgent {
3
3
  role: NetworkAgentRole;
4
4
  description: string;
@@ -16,6 +16,21 @@ class HierarchicalAgentManager {
16
16
  /^show\s+ip\s+bgp/i
17
17
  ]
18
18
  },
19
+ {
20
+ role: 'DATACENTER',
21
+ description: 'Handles Data Center Leaf-Spine Fabrics, VXLAN EVPN overlays, vPC peer domains, and Nexus NX-OS specific features.',
22
+ allowedPattern: [
23
+ /^(no\s+)?feature\s+/i,
24
+ /^(no\s+)?vpc\s+domain\s+/i,
25
+ /^(no\s+)?peer-keepalive\s+/i,
26
+ /^(no\s+)?vn-segment\s+/i,
27
+ /^(no\s+)?interface\s+nve\s+/i,
28
+ /^(no\s+)?member\s+vni\s+/i,
29
+ /^(no\s+)?vrf\s+context\s+/i,
30
+ /^(no\s+)?address-family\s+l2vpn\s+evpn/i,
31
+ /^show\s+(vpc|nve|bgp\s+l2vpn\s+evpn)/i
32
+ ]
33
+ },
19
34
  {
20
35
  role: 'DISTRIBUTION',
21
36
  description: 'Handles VLAN databases, trunking protocols, authentication (AAA), ACL firewalls, and NAT mappings.',
@@ -58,11 +73,12 @@ class HierarchicalAgentManager {
58
73
  return 'ACCESS';
59
74
  }
60
75
  static getHierarchicalAgentPrompt() {
61
- return `You are operating as a Hierarchical Network Swarm. Tasks are segregated into three agent layers:
62
- - CORE AGENT (Core Routing, OSPF, BGP, Static Routes)
63
- - DISTRIBUTION AGENT (VLANs, ACLs, Security policies, NAT)
64
- - ACCESS AGENT (User ports, Interfaces, Speed/Duplex, IP Assignment)
65
-
76
+ return `You are operating as a Hierarchical Network Swarm. Tasks are segregated into four agent layers:
77
+ - CORE AGENT (Core Routing, OSPF, BGP, Static Routes)
78
+ - DATACENTER AGENT (Leaf-Spine fabrics, VXLAN EVPN overlays, vPC domains, NX-OS features)
79
+ - DISTRIBUTION AGENT (VLANs, ACLs, Security policies, NAT)
80
+ - ACCESS AGENT (User ports, Interfaces, Speed/Duplex, IP Assignment)
81
+
66
82
  Always specify in your thoughts which agent layer is executing the command (e.g. "[AccessAgent] Modifying interface GigabitEthernet0/1").`;
67
83
  }
68
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalAgentManager.js","sourceRoot":"","sources":["../../../src/core/agent/HierarchicalAgentManager.ts"],"names":[],"mappings":";;;AAQA,MAAa,wBAAwB;IACzB,MAAM,CAAC,MAAM,GAAuB;QACxC;YACI,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,sGAAsG;YACnH,cAAc,EAAE;gBACZ,yBAAyB;gBACzB,yCAAyC;gBACzC,sBAAsB;gBACtB,uBAAuB;gBACvB,qBAAqB;gBACrB,oBAAoB;gBACpB,mBAAmB;aACtB;SACJ;QACD;YACI,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,oGAAoG;YACjH,cAAc,EAAE;gBACZ,sBAAsB;gBACtB,0BAA0B;gBAC1B,+BAA+B;gBAC/B,gCAAgC;gBAChC,2BAA2B;gBAC3B,kBAAkB;gBAClB,uBAAuB;gBACvB,eAAe;gBACf,uBAAuB;aAC1B;SACJ;QACD;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2HAA2H;YACxI,cAAc,EAAE;gBACZ,wBAAwB;gBACxB,2BAA2B;gBAC3B,0BAA0B;gBAC1B,oBAAoB;gBACpB,oBAAoB;gBACpB,qBAAqB;gBACrB,yBAAyB;gBACzB,qBAAqB;aACxB;SACJ;KACJ,CAAC;IAGK,MAAM,CAAC,YAAY,CAAC,OAAe;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,KAAK,CAAC,IAAI,CAAC;gBACtB,CAAC;YACL,CAAC;QACL,CAAC;QAGD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAGM,MAAM,CAAC,0BAA0B;QACpC,OAAO;;;;;0IAK2H,CAAC;IACvI,CAAC;;AAtEL,4DAuEC"}
1
+ {"version":3,"file":"HierarchicalAgentManager.js","sourceRoot":"","sources":["../../../src/core/agent/HierarchicalAgentManager.ts"],"names":[],"mappings":";;;AAQA,MAAa,wBAAwB;IACzB,MAAM,CAAC,MAAM,GAAuB;QACxC;YACI,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,sGAAsG;YACnH,cAAc,EAAE;gBACZ,yBAAyB;gBACzB,yCAAyC;gBACzC,sBAAsB;gBACtB,uBAAuB;gBACvB,qBAAqB;gBACrB,oBAAoB;gBACpB,mBAAmB;aACtB;SACJ;QACD;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,mHAAmH;YAChI,cAAc,EAAE;gBACZ,sBAAsB;gBACtB,2BAA2B;gBAC3B,6BAA6B;gBAC7B,yBAAyB;gBACzB,8BAA8B;gBAC9B,2BAA2B;gBAC3B,4BAA4B;gBAC5B,yCAAyC;gBACzC,uCAAuC;aAC1C;SACJ;QACD;YACI,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,oGAAoG;YACjH,cAAc,EAAE;gBACZ,sBAAsB;gBACtB,0BAA0B;gBAC1B,+BAA+B;gBAC/B,gCAAgC;gBAChC,2BAA2B;gBAC3B,kBAAkB;gBAClB,uBAAuB;gBACvB,eAAe;gBACf,uBAAuB;aAC1B;SACJ;QACD;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2HAA2H;YACxI,cAAc,EAAE;gBACZ,wBAAwB;gBACxB,2BAA2B;gBAC3B,0BAA0B;gBAC1B,oBAAoB;gBACpB,oBAAoB;gBACpB,qBAAqB;gBACrB,yBAAyB;gBACzB,qBAAqB;aACxB;SACJ;KACJ,CAAC;IAGK,MAAM,CAAC,YAAY,CAAC,OAAe;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,KAAK,CAAC,IAAI,CAAC;gBACtB,CAAC;YACL,CAAC;QACL,CAAC;QAGD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAGM,MAAM,CAAC,0BAA0B;QACpC,OAAO;;;;;;0IAM2H,CAAC;IACvI,CAAC;;AAtFL,4DAuFC"}
@@ -3,74 +3,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PromptEngine = void 0;
4
4
  class PromptEngine {
5
5
  static getSystemPrompt(stateInfo, commandReferenceHints = 'Reference status: not loaded.', strictReferenceMode = false, topologyInfo = 'Topology not discovered yet.') {
6
- return `You are a Senior Network Automation Engineer Agent executing operations on Cisco Enterprise Hardware (Switches & Routers).
7
- Your objective is to accomplish the user's network configuration and troubleshooting goals safely, using step-by-step tool calls.
8
-
9
- =========================================
10
- HIERARCHICAL NETWORK SWARM & RBAC:
11
- =========================================
12
- You operate as a Hierarchical Network Agent Swarm to focus execution and reduce context overhead:
13
- 1. CORE AGENT: Manages core routing tables, dynamic routing protocols (OSPF, BGP, RIP), static routes, and IP SLAs.
14
- 2. DISTRIBUTION AGENT: Manages VLAN databases, trunking protocols, authentication (AAA), ACL firewalls, and NAT mappings.
15
- 3. ACCESS AGENT: Manages physical port assignments, speed/duplex, interface shut/no shut, port descriptions, and interface IPs.
16
- Specify which layer is performing the action in your thoughts (e.g., "[CORE AGENT] Configuring static route").
17
- Your actions are monitored by a Context-Aware Pre-Execution Validator and restricted by your current RBAC Role.
18
-
19
- =========================================
20
- CURRENT CONNECTED DEVICES & MODE CONTEXT:
21
- =========================================
22
- ${stateInfo}
23
-
24
- =========================================
25
- CF COMMAND REFERENCE (cf_command_ref.pdf):
26
- =========================================
27
- The following hints were extracted from the official command reference and ranked for the current request. Prefer these exact command forms and syntax whenever relevant.
28
- Strict reference enforcement: ${strictReferenceMode ? 'ENABLED (unsupported commands will be blocked)' : 'DISABLED (advisory mode)'}
29
- ${commandReferenceHints}
30
-
31
- =========================================
32
- DISCOVERED NETWORK TOPOLOGY MAP:
33
- =========================================
34
- ${topologyInfo}
35
- Interpret the map as network-wide intent context. Prefer plans that keep end-to-end reachability and avoid asymmetric intermediate states.
36
-
37
- =========================================
38
- CISCO IOS SHELL (IOS.sh) AUTOMATION GUIDE:
39
- =========================================
40
- 1. Capabilities: The connected Cisco devices support Cisco IOS Shell. You can utilize:
41
- - Variables: E.g., "TARGET_IP=10.0.1.5", and reference them as "$TARGET_IP" in commands.
42
- - Loop Constructs: E.g., "for i in 1 2; do ping 10.0.1.$i; done" to check connectivity.
43
- - Piping & Output Filtering: E.g., "| include GigabitEthernet" or "| grep ip" to filter CLI outputs.
44
- - Functions: E.g., "my_ping() { ping 10.0.1.1; }" to bind commands.
45
- 2. Activation:
46
- - Session-wide: Execute "terminal shell" in Privileged EXEC mode (Switch#).
47
- - Global Config: Execute "shell processing full" in Global Configuration mode (Switch(config)#).
48
- - Use the specialized tool "enable_ios_shell" to activate the shell instead of running raw activation commands.
49
-
50
- =========================================
51
- OPERATIONAL COMPLIANCE RULES:
52
- =========================================
53
- 1. Navigational Awareness: Verify the current device access level (e.g., USER_EXEC ">", PRIVILEGED_EXEC "#", GLOBAL_CONFIG "(config)#", INTERFACE_CONFIG "(config-if)#"). Change modes appropriately before running commands (e.g., issue "enable", "configure terminal").
54
- 2. Multi-Device Scope: When multiple target devices are connected, you must specify the "device" parameter in all tool calls to designate the destination.
55
- 3. Chaining Constraint: Issue commands step-by-step. Do not combine multiple unrelated configuration actions into a single tool call.
56
- 4. Validation Discipline: Use at most one inspection pass before a configuration block. Do not repeat show commands unless the device state changed or a command failed. After the configuration block completes, verify once with an inspection command or a ping_test, then stop if the verification is clean.
57
- 5. Error Diagnostics & Self-Correction: If a command fails or returns error markers (e.g., "% Unrecognized command", "% Invalid input"), stop. Do not repeat failed commands. Check your turn history to verify if the command has been run previously and failed. If it did, immediately troubleshoot the cause (such as incorrect CLI mode context, missing submode initialization, or unsupported commands) and change your strategy instead of repeating the failed command.
58
- 6. Language Policy: All reasoning blocks, arguments, tool calls, and output explanations must be written strictly in English.
59
- 7. Single Tool Call Constraint: You MUST only generate EXACTLY ONE tool call per response. Never generate multiple parallel tool calls (e.g. do not call execute_ios_command multiple times in a single turn). You must wait for the output of the first tool call to update the device state before proposing the next one.
60
- 8. Goal Completion Discipline: NEVER stop generating tool calls until every numbered step in the user's goal has been executed in order. Do not produce a summary or declare success while steps remain pending. Only stop (return a text-only response with no tool call) after ALL steps are complete AND the final verification (ping_test or show command) has been executed and returned a result.
61
- 9. Reversion Awareness: If a configuration command fails and triggers a rollback, pay close attention to the [System Alert] in the tool response. Verify your current configuration submode/prompt before executing further commands.
62
-
63
- =========================================
64
- RESPONSE FORMAT PROTOCOL (CRITICAL):
65
- =========================================
66
- - You MUST always populate the "content" field of your response with a detailed, step-by-step Chain-of-Thought (CoT) reasoning block BEFORE proposing any tool calls.
67
- - You MUST format your thoughts by explicitly structuring them into these three sections:
68
- 1. CURRENT STATE ANALYSIS: [What is the current device status, context, and access level?]
69
- 2. TECHNICAL PLAN: [What is the detailed sequential plan, variables, loops, or shell configurations needed to achieve the goal?]
70
- 3. NEXT ACTION DETAILS: [What specific tool are you calling right now, what arguments/commands are you sending, and why?]
71
- - NEVER return an empty or whitespace-only "content" string when generating tool calls. The user must see your structured thoughts before execution occurs.
72
- - Do NOT use markdown bold formatting (e.g., **text**) or any other markdown decorators in any part of your response (including technical plans and final summaries). All responses must be clean, plain text.
73
- - When you are done and no additional tool call is required, your final response must be a direct user-facing outcome summary with concrete results and next actions (if any). Do not end with meta statements such as "I should" or "I will".`;
6
+ return `You are a Senior Network Automation Engineer Agent executing operations on Cisco Enterprise Hardware (Switches & Routers).
7
+ Your objective is to accomplish the user's goal safely using step-by-step commands.
8
+
9
+ === CONTEXT ===
10
+ ${stateInfo}
11
+ Topology: ${topologyInfo}
12
+ Command Hints: ${commandReferenceHints} (Strict enforcement: ${strictReferenceMode})
13
+
14
+ === COMPLIANCE RULES ===
15
+ 1. Verify access level (USER_EXEC ">", PRIVILEGED_EXEC "#", GLOBAL_CONFIG "(config)#", INTERFACE_CONFIG "(config-if)#"). Run "enable" and "configure terminal" appropriately before configuration.
16
+ 2. Single Tool Call: Generate EXACTLY ONE tool call per response. Wait for the output before proceeding.
17
+ 3. Errors: If a command fails or returns error markers, stop and change strategy. Do not repeat failed commands.
18
+ 4. Language: Always output in English.
19
+
20
+ === HOW TO CALL TOOLS (IMPORTANT) ===
21
+ You must invoke tools to execute commands or tests. You can do this in three ways:
22
+ 1. Native Tool Calling (Preferred).
23
+ 2. JSON Code Block Fallback: If you cannot call tools natively, output a JSON code block in your message:
24
+ \`\`\`json
25
+ {
26
+ "command": "show ip interface brief"
27
+ }
28
+ \`\`\`
29
+ 3. XML Tags Fallback: Output parameters directly using tags:
30
+ <parameter=command>show ip interface brief</parameter> (for execute_ios_command)
31
+ <parameter=destination>10.0.1.1</parameter> (for ping_test)
32
+
33
+ === RESPONSE FORMAT ===
34
+ First, write your thoughts:
35
+ - CURRENT STATE: [Access level, device prompt]
36
+ - PLAN: [Commands to execute next]
37
+ - ACTION: [Tool to run]
38
+ Then, invoke the tool (or output one of the fallback blocks above).`;
74
39
  }
75
40
  }
76
41
  exports.PromptEngine = PromptEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"PromptEngine.js","sourceRoot":"","sources":["../../../src/core/agent/PromptEngine.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IACf,MAAM,CAAC,eAAe,CACvB,SAAiB,EACjB,wBAAgC,+BAA+B,EAC/D,sBAA+B,KAAK,EACpC,eAAuB,8BAA8B;QAEtD,OAAO;;;;;;;;;;;;;;;;EAgBb,SAAS;;;;;;gCAMqB,mBAAmB,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,0BAA0B;EACjI,qBAAqB;;;;;EAKrB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+OAuCiO,CAAC;IAC5O,CAAC;CACJ;AA5ED,oCA4EC"}
1
+ {"version":3,"file":"PromptEngine.js","sourceRoot":"","sources":["../../../src/core/agent/PromptEngine.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IACf,MAAM,CAAC,eAAe,CACvB,SAAiB,EACjB,wBAAgC,+BAA+B,EAC/D,sBAA+B,KAAK,EACpC,eAAuB,8BAA8B;QAErD,OAAO;;;;EAId,SAAS;YACC,YAAY;iBACP,qBAAqB,yBAAyB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;oEA0Bd,CAAC;IAClE,CAAC;CACH;AAzCD,oCAyCC"}
@@ -54,10 +54,10 @@ class AuditLogger {
54
54
  const thoughtCleaned = entry.thought
55
55
  ? entry.thought.replace(/\r?\n/g, ' ').substring(0, 150) + '...'
56
56
  : '';
57
- const logMessage = `[${formattedTimestamp}] [Device: ${entry.deviceId}] [Role: ${entry.role.toUpperCase()}] [Status: ${entry.status}]
58
- Thought: ${thoughtCleaned || 'N/A'}
59
- Command: "${entry.command}"
60
- Result: ${outputCleaned || entry.reason || 'N/A'}
57
+ const logMessage = `[${formattedTimestamp}] [Device: ${entry.deviceId}] [Role: ${entry.role.toUpperCase()}] [Status: ${entry.status}]
58
+ Thought: ${thoughtCleaned || 'N/A'}
59
+ Command: "${entry.command}"
60
+ Result: ${outputCleaned || entry.reason || 'N/A'}
61
61
  --------------------------------------------------------------------------------\n`;
62
62
  try {
63
63
  fs.appendFileSync(this.logFile, logMessage, 'utf8');
@@ -139,6 +139,12 @@ class CommandFirewall {
139
139
  parts[1] = 'new-model';
140
140
  }
141
141
  }
142
+ else if (firstToken === 'feature') {
143
+ const rest = parts.slice(1).join(' ').toLowerCase();
144
+ if (rest === 'nv-overlay' || rest === 'nv_overlay') {
145
+ return 'feature nv overlay';
146
+ }
147
+ }
142
148
  return parts.join(' ');
143
149
  }
144
150
  static normalizeInterfaceName(name) {
@@ -158,6 +164,15 @@ class CommandFirewall {
158
164
  if (lower.startsWith('lo') && !lower.startsWith('loopback')) {
159
165
  return 'loopback' + name.substring(2);
160
166
  }
167
+ if (lower.startsWith('eth') && !lower.startsWith('ethernet')) {
168
+ return 'ethernet' + name.substring(3);
169
+ }
170
+ if (lower.startsWith('po') && !lower.startsWith('port-channel')) {
171
+ return 'port-channel' + name.substring(2);
172
+ }
173
+ if (lower.startsWith('nv') && !lower.startsWith('nve')) {
174
+ return 'nve' + name.substring(2);
175
+ }
161
176
  return name;
162
177
  }
163
178
  checkCommand(command, currentInterfaceContext) {
@@ -1 +1 @@
1
- {"version":3,"file":"CommandFirewall.js","sourceRoot":"","sources":["../../../src/core/guardrails/CommandFirewall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandFirewall.js","sourceRoot":"","sources":["../../../src/core/guardrails/CommandFirewall.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AACrC,kDAA0B;AAC1B,2BAA8C;AAC9C,+BAA4B;AAC5B,sDAA0F;AAC1F,8CAAqD;AAErD,MAAa,eAAe;IAChB,mBAAmB,GAAa,EAAE,CAAC;IACnC,QAAQ,GAAQ,IAAI,CAAC;IAE7B,YAAY,mBAA8B;QACtC,IAAI,mBAAmB,EAAE,CAAC;YACtB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAChF,IAAI,CAAC,QAAQ,GAAG,EAAE,mBAAmB,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAC;YAC7D,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC,CAAC;gBAExF,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACpE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;wBACvD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;wBACjD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;4BACrD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAClD,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;IACL,CAAC;IAGM,MAAM,CAAC,qBAAqB,CAAC,OAAe;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,OAAO,CAAC;QAEpD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAG1C,IAAI,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,aAAa,GAAG,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACtF,OAAO,MAAM,aAAa,EAAE,CAAC;QACjC,CAAC;QAGD,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACtE,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACtG,OAAO,oBAAoB,CAAC;YAChC,CAAC;YACD,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;QAC3B,CAAC;aAAM,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5E,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;YACvB,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACX,KAAK,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;aAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5E,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QAC1B,CAAC;aAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/E,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;QAC7B,CAAC;aAAM,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACzE,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YACpB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAClG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBACjB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACtG,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBACzB,CAAC;YACL,CAAC;QACL,CAAC;aAAM,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACnB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACpG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACvB,CAAC;QACL,CAAC;aAAM,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACvB,CAAC;aAAM,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5E,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QACxB,CAAC;aAAM,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACvG,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACxH,KAAK,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;YAC9B,CAAC;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACvH,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;YAC7B,CAAC;QACL,CAAC;aAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACzG,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;YAC3B,CAAC;QACL,CAAC;aAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YACpD,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjD,OAAO,oBAAoB,CAAC;YAChC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,IAAY;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjE,OAAO,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,OAAO,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACpE,OAAO,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,OAAO,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,OAAO,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,OAAO,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,OAAO,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,OAAe,EAAE,uBAAsC;QACvE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,iBAAiB,GAAG,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAE1D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAe,EAAE,EAAE,CACrE,UAAU,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CACnG,CAAC;gBACF,IAAI,SAAS,EAAE,CAAC;oBACZ,OAAO;wBACH,SAAS,EAAE,IAAI;wBACf,MAAM,EAAE,mFAAmF;qBAC9F,CAAC;gBACN,CAAC;YACL,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;gBAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CACnF,UAAU,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAC3F,CAAC;gBACF,IAAI,eAAe,EAAE,CAAC;oBAClB,OAAO;wBACH,SAAS,EAAE,IAAI;wBACf,MAAM,EAAE,kGAAkG;qBAC7G,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,UAAU,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE,CAAC;YACvG,OAAO;gBACH,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,oGAAoG;aAC/G,CAAC;QACN,CAAC;QAED,IAAI,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3F,OAAO;gBACH,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,6FAA6F;aACxG,CAAC;QACN,CAAC;QAED,IAAI,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzF,OAAO;gBACH,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,qGAAqG;aAChH,CAAC;QACN,CAAC;QAED,MAAM,kBAAkB,GAAG,8BAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACvD,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CACnE,CAAC;QACF,IAAI,kBAAkB,EAAE,CAAC;YACrB,OAAO;gBACH,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,kCAAkC,kBAAkB,IAAI;aACnE,CAAC;QACN,CAAC;QAED,MAAM,cAAc,GAAG,oCAAoC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpF,IAAI,cAAc,EAAE,CAAC;YACjB,MAAM,iBAAiB,GAAG,eAAe,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YAEzG,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAChH,OAAO;oBACH,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,0DAA0D,cAAc,CAAC,CAAC,CAAC,EAAE;iBACxF,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,uBAAuB,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,eAAe,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YACxG,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;oBAC5B,OAAO;wBACH,SAAS,EAAE,IAAI;wBACf,MAAM,EAAE,0DAA0D,uBAAuB,EAAE;qBAC9F,CAAC;gBACN,CAAC;gBACD,IAAI,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACzC,OAAO;wBACH,SAAS,EAAE,IAAI;wBACf,MAAM,EAAE,oEAAoE,uBAAuB,EAAE;qBACxG,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAEO,WAAW,CAAC,aAAqB;QACrC,MAAM,gBAAgB,GAAG,eAAe,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACpG,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACrC,MAAM,WAAW,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YACnF,OAAO,WAAW,KAAK,gBAAgB;gBAChC,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC;gBACxC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,MAAc;QACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,CAAC;QACzE,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,+FAA+F,OAAO,GAAG,CAAC,CAAC,CAAC;YAC/I,OAAO,CAAC,IAAI,CAAC,iCAAiC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAEtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;YAC7F,OAAO,CAAC,IAAI,CAAC,iCAAiC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,iCAAiC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;YAE7F,EAAE,CAAC,QAAQ,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iEAAiE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;gBACxG,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAtQD,0CAsQC"}