pyre-cli 10.2.0 → 10.3.0

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 CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  <p align="center">
15
15
  <a href="https://www.npmjs.com/package/pyre-cli"><img src="https://img.shields.io/npm/v/pyre-cli.svg?style=flat" alt="npm version" /></a>
16
- <a href="package.json"><img src="https://img.shields.io/badge/version-10.1.0-blue?style=flat" alt="Version" /></a>
16
+ <a href="package.json"><img src="https://img.shields.io/badge/version-10.2.0-blue?style=flat" alt="Version" /></a>
17
17
  <a href="#requirements"><img src="https://img.shields.io/badge/platforms-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey?style=flat" alt="Platforms" /></a>
18
18
  <a href="#requirements"><img src="https://img.shields.io/badge/node-%3E%3D18.0.0-green?style=flat" alt="Node" /></a>
19
19
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=flat" alt="License" /></a>
@@ -144,19 +144,19 @@ pyre web --lan --port 3000
144
144
 
145
145
  ## Comparison
146
146
 
147
- | Feature | Pyre | btop | htop | Glances |
148
- |---|:---:|:---:|:---:|:---:|
149
- | **Interactive TUI & Sparklines** | Yes (6 themes + JSON) | Yes | Limited | Yes |
150
- | **Native macOS Desktop Window** | Yes (Swift Cocoa) | No | No | No |
151
- | **Apple Silicon P/E + GPU + ANE** | Yes (Granular watts) | Partial | Partial | Partial |
152
- | **Encrypted P2P Telemetry** | Yes (TLS + HMAC) | No | No | Partial (Plain) |
153
- | **Real-time Web Dashboard (SSE)** | Yes (Zero-config) | No | No | Yes |
154
- | **Multi-Host Fleet Aggregation** | Yes (SSH / P2P) | No | No | Yes (Web only) |
155
- | **Socket Connection Forensics** | Yes | Partial | No | Partial |
156
- | **Statistical Anomaly Radar** | Yes (Z-score) | No | No | No |
157
- | **Energy & Cost Profiler** | Yes (kWh / Joules) | No | No | No |
158
- | **System Security Doctor** | Yes (SIP / Sensors) | No | No | No |
159
- | **Export Formats** | JSON, CSV, TSV, HTML, MD | No | No | InfluxDB, CSV |
147
+ | Feature | Pyre | btop | macmon | mactop | asitop | htop | Glances |
148
+ |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
149
+ | **Interactive TUI & Sparklines** | Yes (6 themes + JSON) | Yes | Yes (Glanceable) | Yes | Yes | Limited | Yes |
150
+ | **Native macOS Desktop Window** | Yes (Swift Cocoa) | No | No | No | No | No | No |
151
+ | **Apple Silicon P/E + GPU + ANE** | Yes (Granular watts) | Partial | Yes (IOReport watts) | Yes (Powermetrics) | Yes (Powermetrics) | Partial | Partial |
152
+ | **Encrypted P2P Telemetry** | Yes (TLS + HMAC) | No | No | No | No | No | Partial (Plain) |
153
+ | **Real-time Web Dashboard (SSE)** | Yes (Zero-config) | No | No | No | No | No | Yes |
154
+ | **Multi-Host Fleet Aggregation** | Yes (SSH / P2P) | No | No | No | No | No | Yes (Web only) |
155
+ | **Socket Connection Forensics** | Yes | Partial | No | No | No | No | Partial |
156
+ | **Statistical Anomaly Radar** | Yes (Z-score) | No | No | No | No | No | No |
157
+ | **Energy & Cost Profiler** | Yes (kWh / Joules) | No | No | No | No | No | No |
158
+ | **System Security Doctor** | Yes (SIP / Sensors) | No | No | No | No | No | No |
159
+ | **Export Formats** | JSON, CSV, TSV, HTML, MD | No | None | None | None | No | InfluxDB, CSV |
160
160
 
161
161
  ---
162
162
 
@@ -213,6 +213,15 @@ pyre brew # Package manager health check & disk cache repo
213
213
  pyre smart # S.M.A.R.T. disk health monitor & drive wear
214
214
  pyre blender # Background Blender 3D render job tracker
215
215
  pyre pipe # Continuous newline-delimited JSON stream
216
+ pyre stress # Synthetic CPU/GPU load generator
217
+ pyre extensions # System Extensions and Driver inspector
218
+ pyre info # Hardware summary including battery health & displays
219
+ pyre explain # Plain-English anomaly explanation (Ollama/OpenAI/builtin)
220
+ pyre diff <file1> <file2> # Compare two saved snapshot files side-by-side
221
+ pyre history # Graph historical resource trends from CSV logs
222
+ pyre replay <file> # Play back a pyre CSV log file in the TUI
223
+ pyre build # Active compiler and build system tracker
224
+ pyre topo # Network topology mapper and pyre peer auto-discovery
216
225
  ```
217
226
 
218
227
  ### Automation, Profiles & Daemon
@@ -220,10 +229,17 @@ pyre pipe # Continuous newline-delimited JSON stream
220
229
  ```bash
221
230
  pyre watchdog # Autonomous daemon monitoring rules & killing rogue procs
222
231
  pyre serve [--port 8080] # Lightweight REST API server exposing JSON endpoints
223
- pyre profile save <name> # Save active configuration profile
224
- pyre profile load <name> # Restore saved profile
225
- pyre config show # Display current settings (~/.config/pyre/config.json)
226
- pyre completions <zsh|bash> # Generate shell auto-completions
232
+ pyre profile <save|load|list> # Atomic configuration profile management
233
+ pyre config <show|reset> # View or reset persistent configuration file
234
+ pyre completions <shell> # Generate shell auto-completions (zsh, bash, fish, powershell)
235
+ pyre prometheus # Start a Prometheus metrics exporter on localhost
236
+ pyre p2p <server|connect> # Start a P2P server or connect to one
237
+ pyre server # Print one-line helper commands for P2P pairing
238
+ pyre alert test # Send a test notification to all configured alert channels
239
+ pyre profile-proc <pid> # CPU call-tree profiler and hot function sampler
240
+ pyre sync <push|pull|status> # Synchronize config profiles across machines
241
+ pyre xbar # Generate an xbar / SwiftBar menu bar plugin script
242
+ pyre update # Check for pyre-cli updates
227
243
  ```
228
244
 
229
245
  ---
package/dist/index.js CHANGED
@@ -45,6 +45,7 @@ import {
45
45
  import fs10 from "fs";
46
46
  import os2 from "os";
47
47
  import path6 from "path";
48
+ import crypto4 from "crypto";
48
49
  import { fileURLToPath as fileURLToPath2 } from "url";
49
50
  import readline2 from "readline";
50
51
  import { Command } from "commander";
@@ -7669,7 +7670,7 @@ async function runServerCommand() {
7669
7670
  process.exit(1);
7670
7671
  }
7671
7672
  const port = 9876;
7672
- const password = "mysecret";
7673
+ const password = crypto4.randomBytes(12).toString("hex");
7673
7674
  console.log(chalk10.bold(`
7674
7675
  pyre server`));
7675
7676
  console.log(chalk10.dim(` Detected IP: ${ip}`));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pyre-cli",
3
- "version": "10.2.0",
3
+ "version": "10.3.0",
4
4
  "description": "Cross-platform system monitoring CLI for macOS, Linux, and Windows: temps, system stats, live dashboard, packet monitor, battery predictor, export",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
package/src/index.ts CHANGED
@@ -9,6 +9,7 @@
9
9
  import fs from 'node:fs';
10
10
  import os from 'node:os';
11
11
  import path from 'node:path';
12
+ import crypto from 'node:crypto';
12
13
  import { fileURLToPath } from 'node:url';
13
14
  import readline from 'node:readline';
14
15
  import { Command } from 'commander';
@@ -202,7 +203,7 @@ async function runServerCommand(): Promise<void> {
202
203
  }
203
204
 
204
205
  const port = 9876;
205
- const password = 'mysecret';
206
+ const password = crypto.randomBytes(12).toString('hex');
206
207
 
207
208
  console.log(chalk.bold(`\n pyre server`));
208
209
  console.log(chalk.dim(` Detected IP: ${ip}`));