mindterm_integration.md · 9.1 KB

mindterm v0.0.4 - Complete mindX Integration

Overview

mindterm is now fully integrated into the mindX augmentic intelligence system as the secure terminal execution plane. This document describes the complete integration, orchestration, monitoring, and autonomous improvement capabilities.

Frontend Integration: xterm.js

mindterm uses xterm.js as its frontend terminal emulator. xterm.js is a battle-tested terminal emulator library used by major applications including:

xterm.js Integration Details

Location: mindx_frontend_ui/src/components/MindTerm.tsx

Package: xterm@^5.3.0 with xterm-addon-fit@^0.8.0

Key Features:

Connection Flow:

  1. React component initializes xterm.js Terminal instance
  2. Terminal connects to mindterm backend via WebSocket (/mindterm/sessions/{session_id}/ws)
  3. Keystrokes forwarded as {type: "in", data: "..."}
  4. Command lines sent as {type: "line", data: "..."} for policy gating
  5. Output received as {type: "out", data: "..."} and written to terminal
  6. Risk prompts displayed as {type: "risk", ...} for user confirmation

Terminal Configuration:

const term = new Terminal({
  convertEol: true,
  cursorBlink: true,
  fontSize: 13
});
const fit = new FitAddon();
term.loadAddon(fit);

The terminal automatically resizes based on container dimensions and sends resize events to the backend PTY session.

Architecture Integration

Orchestration Hierarchy

MastermindAgent (Strategic Layer)
    ↓
CoordinatorAgent (Orchestration Layer)
    ↓
mindterm Service (Execution Layer)
    ├── PTY Sessions
    ├── Command Blocks
    ├── Policy Gate
    └── Event Bus

Integration Points

  1. Coordinator Agent Integration
- mindterm publishes events to coordinator's event bus - Coordinator can subscribe to mindterm events for system-wide awareness - Events include: mindterm.session_created, mindterm.command_started, mindterm.session_closed

  1. Resource Monitoring
- mindterm integrates with ResourceMonitor for system resource tracking - Tracks CPU, memory, disk usage per session - Provides metrics for autonomous decision-making

  1. Performance Monitoring
- mindterm commands tracked via PerformanceMonitor - Records success/failure rates, execution times - Enables autonomous optimization of terminal operations

  1. Logging System
- All mindterm operations logged via mindX logging system - Logs stored in data/logs/mindx_runtime.log - Structured logging for autonomous analysis

Logging for Autonomous Improvement

Logged Events

mindterm logs the following events for autonomous system improvement:

  1. Session Lifecycle
- Session creation (pid, shell, cwd, size) - Session closure (with metrics) - Session errors

  1. Command Execution
- Command start (block_id, command) - Command completion (exit_code, execution time) - Command failures

  1. Risk Assessment
- Risk flags (level, reason, command) - User confirmations/denials - Policy violations

  1. Resource Usage
- Per-session metrics (commands, output bytes, failures) - System resource consumption - Performance metrics

Log Format

All logs follow mindX standard format:

[timestamp] mindterm - LEVEL - module.function:line - message

Autonomous Analysis

The mindX system can analyze mindterm logs to:

Resource Management

Session Metrics

Each session tracks:

Resource Monitoring

mindterm provides:

Cleanup and Resource Limits

API Monitoring Endpoints

System Endpoints

  1. GET /system/resources
- Includes mindterm metrics in system resource response - Shows active sessions, command counts, output volume

  1. GET /mindterm/metrics
- Complete mindterm service metrics - All session metrics - Resource usage breakdown

  1. GET /mindterm/metrics/{session_id}
- Per-session detailed metrics - Command history statistics - Performance data

Monitoring Integration

mindterm metrics are available to:

Event Bus Integration

Published Events

mindterm publishes events to coordinator's event bus:

  1. mindterm.session_created
   {
     "session_id": "...",
     "pid": 12345,
     "shell": "/bin/bash",
     "cwd": "/path/to/cwd"
   }
   
  1. mindterm.command_started
   {
     "session_id": "...",
     "block_id": "...",
     "command": "ls -la"
   }
   
  1. mindterm.session_closed
   {
     "session_id": "...",
     "metrics": {
       "commands_executed": 10,
       "commands_failed": 1,
       "total_output_bytes": 1024
     }
   }
   

Event Subscribers

Agents can subscribe to mindterm events:

Orchestration Understanding

Mastermind → Coordinator → mindterm Flow

  1. Strategic Layer (MastermindAgent)
- Receives high-level directives - Plans terminal operations as part of larger campaigns - Delegates to CoordinatorAgent

  1. Orchestration Layer (CoordinatorAgent)
- Manages mindterm service lifecycle - Routes terminal operations - Monitors resource usage - Publishes system events

  1. Execution Layer (mindterm)
- Creates PTY sessions - Executes commands with policy gates - Tracks blocks and metrics - Publishes events

Autonomous Improvement Flow

  1. Data Collection
- mindterm logs all operations - Metrics collected continuously - Events published to coordinator

  1. Analysis
- AutonomousAuditCoordinator analyzes logs - Identifies improvement opportunities - Creates improvement backlog items

  1. Execution
- CoordinatorAgent processes improvements - Updates mindterm policies/configurations - Monitors results

  1. Learning
- Success patterns identified - Policies refined - Resource limits adjusted

Configuration

Environment Variables

Coordinator Configuration

mindterm respects coordinator settings:

Security and Policy

Risk Assessment

mindterm uses policy.py for risk assessment:

Policy Integration

Future Enhancements

Planned Improvements

  1. Agent Integration
- MindTermTool for agents to use terminal - Session binding to agent_id/workspace_id - ACL-based access control

  1. Advanced Monitoring
- Real-time command output analysis - Semantic understanding of commands - Predictive resource needs

  1. Autonomous Optimization
- Automatic policy refinement - Resource limit adjustment - Command execution optimization

Summary

mindterm v0.0.4 is fully integrated into mindX with:

The system can now autonomously improve mindterm operations based on logged data, metrics, and events.


All DocumentsDocument IndexThe Book of mindXImprovement JournalAPI Reference