XyPriss System API Documentation
Version Compatibility: XyPriss v6.0.0 and above
Overview
The XyPriss System API (__sys__) represents a comprehensive, unified interface for interacting with the operating system, file system, and runtime environment. This API is designed to provide developers with a powerful, type-safe, and intuitive set of tools for building robust server applications.
Architecture
The System API follows a hierarchical inheritance structure that consolidates multiple specialized APIs into a single, flat interface:
XyPrissSys (Global Instance: __sys__)
└── XyPrissFS (System Aggregator)
└── SysApi (System Monitoring & Intelligence)
└── FSApi (Filesystem Operations)
└── PathApi (Path Manipulation)
└── BaseApi (Foundation Layer)
This architecture ensures that all capabilities are accessible directly from the __sys__ global instance without the need for nested property access.
Core Capabilities
The System API provides five primary categories of functionality:
1. System Configuration & Metadata
Management of application-level configuration, version information, and runtime metadata.
2. System Monitoring & Intelligence
Real-time access to hardware metrics, process information, and system health data.
- CPU Monitoring
- Memory Management
- Disk Information
- Network Statistics
- Process Management
- Battery Status
- System Health
3. Filesystem Operations
Comprehensive file and directory manipulation with enhanced safety and convenience.
4. Search & Discovery
High-performance file and content search capabilities.
5. Port & Network Utilities
Network interface inspection and port management.
Global Access
The System API is available globally as __sys__ throughout your XyPriss application:
// No imports required - available globally
console.log(__sys__.__version__);
const cpuUsage = __sys__.$cpu();
const files = __sys__.$ls("./src");
Initialization
The __sys__ instance is automatically initialized when the XyPriss framework is loaded. For standalone scripts, ensure the framework is imported:
import "xypriss"; // Initializes global APIs
// __sys__ is now available
Type Safety
All System API methods are fully typed with TypeScript interfaces. Import types as needed:
import type { SystemInfo, CpuUsage, MemoryInfo } from "xypriss";
const info: SystemInfo = __sys__.$info();
const cpu: CpuUsage = __sys__.$cpu() as CpuUsage;
Error Handling
System API methods throw XyPrissError instances when operations fail. Always wrap potentially failing operations in try-catch blocks:
try {
const content = __sys__.$read("config.json");
} catch (error) {
if (error instanceof XyPrissError) {
console.error(`Operation failed: ${error.message}`);
}
}
Performance Considerations
The System API is built on a high-performance Rust binary (xsys) that executes operations natively. However, be mindful of:
- Synchronous Operations: Most methods are synchronous and block the event loop
- Large Directory Trees: Recursive operations on large directories may take time
- Frequent Polling: Avoid polling system metrics in tight loops
Platform Support
The System API supports the following platforms:
- Linux: Full support for all features
- macOS: Full support for all features
- Windows: Partial support (some Unix-specific features unavailable)
Platform-specific features are clearly marked in the documentation.
Security Considerations
- Path Traversal: All path operations are root-aware and prevent traversal outside the project directory
- Permissions: File operations respect system-level permissions
- Environment Variables: Use
__sys__.__ENV__for safe environment variable access
Migration from v5
If you are upgrading from XyPriss v5, please review the Migration Guide for breaking changes and new features.
Quick Reference
Most Common Operations
// System Information
const info = __sys__.$info();
const cpu = __sys__.$cpu();
const memory = __sys__.$memory();
// File Operations
const exists = __sys__.$exists("file.txt");
const content = __sys__.$read("file.txt");
__sys__.$write("output.txt", "data");
// Directory Operations
const files = __sys__.$ls("./src");
const allFiles = __sys__.$lsRecursive("./src");
__sys__.$mkdir("new-directory");
// Path Operations
const absolute = __sys__.$resolve("relative/path");
const joined = __sys__.$join("dir", "file.txt");
// Search Operations
const matches = __sys__.$find("src", ".*\\.ts$");
const grep = __sys__.$grep("src", "TODO");
// Environment
const nodeEnv = __sys__.__ENV__.get("NODE_ENV", "development");
const isProduction = __sys__.$isProduction();
API Reference Index
- Configuration Management
- Environment Variables
- CPU Monitoring
- Memory Management
- Disk Information
- Network Statistics
- Process Management
- Path Operations
- File I/O
- Directory Management
- Search & Filter
Support
For issues, questions, or feature requests, please refer to the XyPriss GitHub repository.
Note: This documentation covers features available in XyPriss v6.0.0 and above. Features may not be available in earlier versions.