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:
- Microsoft Visual Studio Code - Integrated terminal
- JupyterLab - Terminal interface
- Eclipse Che - Cloud IDE terminal
- Azure Cloud Shell - Web-based admin terminal
- And many more - See xterm.js real-world uses
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:
- Full ANSI escape sequence support
- Automatic terminal resizing via FitAddon
- Real-time output streaming via WebSocket
- Keystroke forwarding to PTY backend
- Policy-gated command execution
- Risk assessment integration
Connection Flow:
- React component initializes xterm.js Terminal instance
- Terminal connects to mindterm backend via WebSocket (
/mindterm/sessions/{session_id}/ws)
- Keystrokes forwarded as
{type: "in", data: "..."}
- Command lines sent as
{type: "line", data: "..."} for policy gating
- Output received as
{type: "out", data: "..."} and written to terminal
- 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
- 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
- Resource Monitoring
- mindterm integrates with
ResourceMonitor for system resource tracking
- Tracks CPU, memory, disk usage per session
- Provides metrics for autonomous decision-making
- Performance Monitoring
- mindterm commands tracked via
PerformanceMonitor
- Records success/failure rates, execution times
- Enables autonomous optimization of terminal operations
- 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:
- Session Lifecycle
- Session creation (pid, shell, cwd, size)
- Session closure (with metrics)
- Session errors
- Command Execution
- Command start (block_id, command)
- Command completion (exit_code, execution time)
- Command failures
- Risk Assessment
- Risk flags (level, reason, command)
- User confirmations/denials
- Policy violations
- 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:
- Identify common failure patterns
- Optimize command execution strategies
- Improve risk assessment policies
- Predict resource needs
- Detect security issues
Resource Management
Session Metrics
Each session tracks:
commands_executed: Total commands run
commands_failed: Commands with non-zero exit codes
total_output_bytes: Output data volume
risk_flags: Number of risky commands flagged
last_activity: Timestamp of last activity
Resource Monitoring
mindterm provides:
- Active session count
- Total commands executed across all sessions
- Total output bytes
- System resource usage (via ResourceMonitor)
Cleanup and Resource Limits
- Automatic session cleanup on disconnect
- Resource limits configurable via coordinator
- Memory-efficient block storage (JSONL with cache)
API Monitoring Endpoints
System Endpoints
- GET /system/resources
- Includes mindterm metrics in system resource response
- Shows active sessions, command counts, output volume
- GET /mindterm/metrics
- Complete mindterm service metrics
- All session metrics
- Resource usage breakdown
- GET /mindterm/metrics/{session_id}
- Per-session detailed metrics
- Command history statistics
- Performance data
Monitoring Integration
mindterm metrics are available to:
- CoordinatorAgent for system-wide decisions
- MastermindAgent for strategic planning
- Autonomous audit coordinator for improvement campaigns
- Frontend dashboard for real-time monitoring
Event Bus Integration
Published Events
mindterm publishes events to coordinator's event bus:
- mindterm.session_created
{
"session_id": "...",
"pid": 12345,
"shell": "/bin/bash",
"cwd": "/path/to/cwd"
}
- mindterm.command_started
{
"session_id": "...",
"block_id": "...",
"command": "ls -la"
}
- mindterm.session_closed
{
"session_id": "...",
"metrics": {
"commands_executed": 10,
"commands_failed": 1,
"total_output_bytes": 1024
}
}
Event Subscribers
Agents can subscribe to mindterm events:
- CoordinatorAgent: System-wide awareness
- MastermindAgent: Strategic decision making
- GuardianAgent: Security monitoring
- AutonomousAuditCoordinator: Improvement campaigns
Orchestration Understanding
Mastermind → Coordinator → mindterm Flow
- Strategic Layer (MastermindAgent)
- Receives high-level directives
- Plans terminal operations as part of larger campaigns
- Delegates to CoordinatorAgent
- Orchestration Layer (CoordinatorAgent)
- Manages mindterm service lifecycle
- Routes terminal operations
- Monitors resource usage
- Publishes system events
- Execution Layer (mindterm)
- Creates PTY sessions
- Executes commands with policy gates
- Tracks blocks and metrics
- Publishes events
Autonomous Improvement Flow
- Data Collection
- mindterm logs all operations
- Metrics collected continuously
- Events published to coordinator
- Analysis
- AutonomousAuditCoordinator analyzes logs
- Identifies improvement opportunities
- Creates improvement backlog items
- Execution
- CoordinatorAgent processes improvements
- Updates mindterm policies/configurations
- Monitors results
- Learning
- Success patterns identified
- Policies refined
- Resource limits adjusted
Configuration
Environment Variables
MINDTERM_TRANSCRIPTS_DIR: Transcript storage directory (default: data/mindterm_transcripts)
MINDTERM_BLOCKS_DIR: Block storage directory (default: data/mindterm_blocks)
Coordinator Configuration
mindterm respects coordinator settings:
coordinator.max_concurrent_heavy_tasks: Limits concurrent operations
monitoring.resource.enabled: Enables resource monitoring
monitoring.performance.*: Performance tracking settings
Security and Policy
Risk Assessment
mindterm uses policy.py for risk assessment:
- High Risk: Destructive commands (rm -rf, mkfs, dd, etc.)
- Medium Risk: Privilege escalation (sudo, systemctl, etc.)
- Low Risk: Normal operations
Policy Integration
- Policies can be updated by CoordinatorAgent
- GuardianAgent can review risk decisions
- MastermindAgent can adjust policy thresholds
Future Enhancements
Planned Improvements
- Agent Integration
- MindTermTool for agents to use terminal
- Session binding to agent_id/workspace_id
- ACL-based access control
- Advanced Monitoring
- Real-time command output analysis
- Semantic understanding of commands
- Predictive resource needs
- Autonomous Optimization
- Automatic policy refinement
- Resource limit adjustment
- Command execution optimization
Summary
mindterm v0.0.4 is fully integrated into mindX with:
- ✅ Complete logging for autonomous improvement
- ✅ Resource monitoring integration
- ✅ Performance tracking
- ✅ Coordinator event bus integration
- ✅ API monitoring endpoints
- ✅ Proper resource management
- ✅ Orchestration system integration
The system can now autonomously improve mindterm operations based on logged data, metrics, and events.